iOS;当应用程序未运行或在后台时,推送通知不起作用

标签 ios push-notification apple-push-notifications

我在检测来自 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/

相关文章:

ios - 如何呈现较小尺寸的 View Controller

python - DRF 中的推送通知

javascript - 浏览器关闭时推送通知不起作用

iOS:有没有办法知道用户是否选择退出通知?

ios - 从服务器删除已发送的推送通知

iphone - 您将如何暂停 iPhone 游戏?

ios - 使用 Swift 在 Xcode 中避免从一个 View Controller 到另一个 View Controller 的延迟

ios - 当用户单击 UITextView 并出现键盘时如何使背景变暗/着色?

Android 推送通知,当应用程序关闭时,我得到不同的样式

ios - 将远程通知与部署目标 8.1 和 XCODE 6.1 一起使用