远程通知不会在后台启动应用程序

时间:2013-10-15 11:02:09

标签: ios objective-c ios7 apple-push-notifications

我已经开始在iOS 7中尝试新的远程通知服务。文档中有趣的部分来自UIApplication Delegate protocol

  

如果您的应用暂停或未运行,系统会在调用该方法之前唤醒或启动您的应用并将其置于后台运行状态。

但是,当我发送带有“content-available”键和有效负载“1”的静音远程通知时,应用程序不会启动到后台模式。 如果我的应用处于后台模式或已暂停,则会将通知发送给应用。

文档错了吗?

2 个答案:

答案 0 :(得分:0)

对于远程通知,Apple doc有点令人困惑 如果您的应用已被用户终止,或者您的设备已重新启动,则不会发送通知。

  

“content-available”只会唤醒您的应用,如果它是在后台,或   由于记忆压力,应用程序被系统杀死。

答案 1 :(得分:0)

添加/更新文档,因为我完全赞同Guatam Jain。强行退出是让我失望的原因 - 苹果无法区分开发人员进行测试和用户“清理手机”或处理行为不当的应用程序之间的区别。

来自https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html,标题为“了解你的应用程序何时启动到后台”的部分(强调我的):

  

系统可以重新启动支持后台执行的应用程序来处理传入事件。如果应用因用户强制退出以外的任何原因而被终止,系统会在发生以下任一事件时启动应用:   ...   对于后台下载应用:   推送通知到达应用程序,通知的有效内容包含值为1的内容可用密钥。