应用尚未启动时无法获取推送通知数据

时间:2014-08-12 18:41:26

标签: ios objective-c apple-push-notifications

我实现了对推送通知的支持,它就像一个魅力。但是,在一个特定情况下,它并没有给我所需的结果。

当应用程序正在运行时(状态处于活动状态或处于后台状态),每当收到推送通知时,函数" didReceiveRemoteNotification"叫做。但是,当应用程序终止并收到推送通知时,我相信" didReceiveRemoteNotification"永远不会被调用(不能使用Xcode测试这个场景,因为app还没有被启动)。这可以防止我将特定的视图控制器加载到用户。

有人可以告诉我如何在应用尚未启动时收到与推送通知相对应的数据吗?是否还有其他一些功能需要仅针对此特定情况进行调查?

感谢一些帮助。

1 个答案:

答案 0 :(得分:1)

根据documentation

  

如果在推送通知到达时应用程序未运行,则该方法   启动应用程序并提供相应的信息   启动选项字典。该应用程序不会调用此方法来处理   推送通知。相反,你的实施   application:willFinishLaunchingWithOptions:或   application:didFinishLaunchingWithOptions:方法需要得到   推送通知有效载荷数据并做出适当的响应。

特别是,您应该在启动选项字典中查找的密钥是UIApplicationLaunchOptionsRemoteNotificationKey