ios - 在远程推送通知重定向到正确的 ViewController

标签 ios swift push-notification

我正在努力让我的 iOS 应用程序在通过远程推送通知(使用 Swift)打开时按预期运行。我想要的是,当通过点击推送通知打开应用程序时,它应该直接跳转到某个 ViewController,但仍保持导航堆栈。更复杂的是,目标 View Controller 取决于推送消息。

示例: 我的应用程序已关闭,我收到推送通知:“您收到了一条新消息”。我单击通知,应用程序打开并显示新消息,而不是常规的初始 View Controller 。如果我的应用已打开并且我收到推送通知,则什么也不会发生。

最佳答案

一般来说,这里是响应通知的方法。通过这些方法,您需要实现代码,以根据通知向您的堆栈呈现适当的 View 。

要在应用程序在前台或后台运行时响应通知,请实现 application:didReceiveRemoteNotification:fetchCompletionHandler: 方法。如果您启用了远程通知后台模式,系统将启动您的应用程序(或将其从挂起状态唤醒)并在远程通知到达时将其置于后台状态。但是,如果用户强制退出应用,系统不会自动启动您的应用。

要在您的应用程序在前台而非后台运行时响应通知,请实现 application:didReceiveRemoteNotification: 方法

要在您的应用未运行时响应通知,请实现 application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions: 方法

关于ios - 在远程推送通知重定向到正确的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31295561/

相关文章:

iphone - 景观中的 UIRefreshControl

ios - 动态 UICollectionView 单元格框架

swift - 如何将变量从 Swift 传递到 Cloud Code?

xcode - 使用 TestFlight 通过 Parse 推送通知

ios - WhatsApp如何绕过APNS限制以显示设备离线时收到的多个推送消息?

ios - 快速组合 : Unexpected backpressure behaviour with zip operator

ios - 在具有 public init 的类中在 swift 4 中创建单例

exception - EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)与 dataTaskWithUrl

swift - Realm - 从 child 的角度获取所有 child 的所有 parent 的列表

android - 如何诊断 GCM 结果为 'Success' 但未到达设备的通知