【发布时间】:2012-03-08 04:45:33
【问题描述】:
来自苹果开发者网络的官方文档提到,推送通知的有效负载是在应用程序在前台运行时提供给应用程序,或者当它因为推送通知而被激活时。我找不到关于应用程序在后台运行时会发生什么的声明。
我用即时消息应用程序进行了测试,发现了一些我不明白的地方。测试程序为:
- 为应用启用推送通知
- 将应用切换到后台
- 向客户端发送两个 IM。两个推送通知到达客户端,应用图标上的徽章变为 2
- 关闭蜂窝网络以防止应用与其服务器通信
- 点击应用图标切换到前台
完成这些步骤后,我可以在聊天窗口中看到 2 条消息。由于应用程序无法直接从服务器检索消息,唯一的解释是推送通知在应用程序处于后台时由应用程序处理,或者它们被缓存在某处并且可以在应用程序切换到前台时访问。但是 iOS 真的允许应用在后台执行代码,或者为应用缓存通知吗?
【问题讨论】:
标签: ios background push-notification