ios - 应用关闭时推送通知的行为不同

标签 ios swift push-notification apple-push-notifications

我已经使用这些函数在 AppDelegate 中处理了我的通知:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any])

和:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)

但我在点击通知时得到了不同的 react 。例如,当我有一个深层链接时,它在应用程序处于后台或前台时工作正常,但当应用程序关闭时,深层链接将不起作用。 我是 IOS 的新手,如果我的问题很基础,抱歉。

最佳答案

当应用程序关闭并且您按下推送通知时,不会调用推送通知接收消息。相反,application:didFinishLaunchingWithOptions:方法被调用(正如它应该的那样)。

诀窍是检查 launchOptions 字典中的通知。

if let remoteNotificationInfo = launchOptions?[.remoteNotification] as? [AnyHashable : Any] {
     dealWithRemoteNotification(remoteNotificationInfo)
}

func dealWithRemoteNotification(_ userInfo:[AnyHashable : Any]) {
}

关于ios - 应用关闭时推送通知的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50198440/

相关文章:

ios - 使用 FCM 的 ios 中不显示远程通知

iphone - 重置警报的推送通知设置

ios - Google Calendar API - 架构 i386 的 undefined symbol

ios - Cordova IOS webview 界面随机无响应

ios - 启用 Tableview 滚动但禁用触摸

swift - 用于恢复不同数据模型的硬编码 NSUserActivityTypes

ios - 即使应用程序处于后台或终止,我如何执行接收远程通知的操作?

iphone - 清除删除按钮的背景色

ios - 如何在不提供任何 Controller 的情况下激活相机?

ios - 如何从不同的 ViewController 访问 Realm 数据库?