Ios 当应用程序处于后台时,不接收后台获取远程通知,并且用户不通过推送通知进入

Ios 当应用程序处于后台时,不接收后台获取远程通知,并且用户不通过推送通知进入,ios,objective-c,notifications,push-notification,Ios,Objective C,Notifications,Push Notification,我的应用程序当前使用应用程序:didReceiveMemotentification:fetchCompletionHandler和应用程序:didFinishLaunchingWithOptions:委托方法来处理后台远程通知。偶尔会出现推送通知,并且我不会收到一个日志,说明它调用了我的任何一个应用程序委托方法。我已经测试了挂起、活动、背景和挂起状态,它们似乎都正常工作。大约每30次推送中就有1次会收到“死亡”推送通知 ****注意:这种情况只有在我没有通过触摸推送通知进入时才会发生,而且是不

我的应用程序当前使用
应用程序:didReceiveMemotentification:fetchCompletionHandler
应用程序:didFinishLaunchingWithOptions:
委托方法来处理后台远程通知。偶尔会出现推送通知,并且我不会收到一个日志,说明它调用了我的任何一个应用程序委托方法。我已经测试了挂起、活动、背景和挂起状态,它们似乎都正常工作。大约每30次推送中就有1次会收到“死亡”推送通知


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

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

这一点在测试中被一个事实抵消了,即在调试过程中,该设备总是插在我的开发机器上,带有强烈的wifi信号,因此我永远不会处于不好的状态


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

如果您的应用程序已完全卸载(即未挂起/在后台),并且用户从图标(而不是通知)重新启动,则您将不会收到notification@Paulw11是的,我知道我不会通过用户字典获得通知,但是因为我打开了后台获取和远程通知,即使在后台或挂起时,它仍应命中application:didReceiveEmotentification:fetchCompletionHandler。如果应用程序由iOS卸载,它应该重新启动到挂起状态并处理通知,对吗?你的应用程序是在后台还是已卸载?@Paulw11我在两种状态下都看到了错误