应用程序处于后台时未收到后台提取远程通知,并且用户未通过推送通知进入

我的应用程序当前使用application:didReceiveRemoteNotification:fetchCompletionHandlerapplication:didFinishLaunchingWithOptions:委托方法来处理后台远程通知。 间歇性地,将出现推送通知,并且我将不会收到一条日志,表明它已调用我的任一应用程序委托方法。 我已经测试了暂停,活动,背景和暂停状态,它们似乎都正常工作。 每30次推送大约有1次我得到一个“死”推送通知。

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

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

在测试过程中,由于设备在调试期间始终插入我的开发机器并且具有强大的wifi信号,这一点被抵消了,所以我永远不会陷入糟糕的状态。

这非常具体,但如果您的应用严重依赖推送通知来获取后台function,那么这一点至关重要。