我在检测来自 APNS 的推送通知时遇到问题。
如果应用未运行或在后台时有来自 APNS 的推送通知,
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
这不是工作。
当我回到前台而没有从通知中心选择推送通知消息时,它不起作用。
如何解决这个问题?
我正在 iOS 6.13 和 iOS 7.0.4 中测试该应用。
感谢您的帮助。 :)
最佳答案
实际上,通知的第一个接收者是系统,而不是您的应用。
如果您的应用不在前台,则应用的 application:didReceiveRemoteNotification:fetchCompletionHandler
将永远不会被调用,直到您点击通知使您的应用再次进入前台。
当推送通知到达并且用户点击“取消
”时,您的应用无法再次读取该推送通知
。您必须实现一个单独的功能(很可能在服务器端
)来获取发送到此设备的通知列表。
关于iOS;当应用程序未运行或在后台时,推送通知不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211081/