OGeek|极客世界-中国程序员成长平台

标题: ios - 应用程序处于后台时未收到后台获取远程通知,并且用户未通过推送通知进入 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:59
标题: ios - 应用程序处于后台时未收到后台获取远程通知,并且用户未通过推送通知进入

我的应用程序当前使用 application:didReceiveRemoteNotification:fetchCompletionHandlerapplication:didFinishLaunchingWithOptions: 委托(delegate)方法来处理后台远程通知。间歇性地,会出现一个推送通知,并且我不会收到一条日志说它已经调用了我的任何一个应用程序委托(delegate)方法。我已经测试了挂起、事件、后台和挂起状态,它们似乎都工作正常。每 30 次推送中大约有 1 次收到“死亡”推送通知。

****注意:这种情况只发生在我没有通过触摸推送通知进入时,并且发生不可预知。**



Best Answer-推荐答案


该错误来自 Apple 文档中的 iOS 8“功能”。如果 iPhone 的蜂窝或 wifi 信号不佳、电池电量不足或未插入充电器,手机将在锁定屏幕上收到通知,但不会将应用程序启动到暂停状态。因此,如果您没有通过滑动通知本身直接进入应用程序,则不会触发诸如 application:didReceiveRemoteNotification:fetchCompletionHandler 之类的后台事件。

这在测试中被抵消了,因为在调试过程中设备总是插入到我的开发机器中,并且有很强的 wifi 信号,所以我永远不会陷入糟糕的状态。

这是非常具体的,但如果您的应用严重依赖于后台功能的推送通知,则这一点至关重要。

关于ios - 应用程序处于后台时未收到后台获取远程通知,并且用户未通过推送通知进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28118019/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4