我正在努力让我的 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/