iOS - 当应用程序强制退出用户时处理静默推送通知

时间:2015-04-27 22:56:08

标签: ios notifications apple-push-notifications

我目前在iOS中遇到推送通知问题。

我的应用会收到包含标识符的静音推送通知。然后,此标识符用于从创建本地通知的远程服务器获取数据。

据我所知,如果用户强制退出应用程序(即双击主页按钮并轻扫关闭应用程序),则静默推送通知不会传递到 didReceiveRemoteNotification < AppDelegate 类[1] [2]中的/ em>方法,从而阻止了应用程序进行任何处理。

我已经对处理上述情况做了大量研究。但是,无法找到明确的答案,并希望有人可以帮助我或指出我正确的方向。

TLDR:当用户强制退出我的应用程序时,我该怎么办,但是我仍然需要处理无声通知?

更多信息:
我的应用只需要支持iOS8 +。

[1] https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1

  

通知有效负载
  如果在通知到达时目标应用程序未运行,则播放或显示警报消息,声音或徽章值。如果应用程序正在运行,系统会将通知作为NSDictionary对象传递给应用程序委托。

[2] https://stackoverflow.com/a/19202487/2472819

1 个答案:

答案 0 :(得分:1)

以前在iOS 7及之前,一旦用户强制退出应用程序,它将无法运行和后台任务,包括位置监控,使用content-available:1推送通知处理等。

但问题是这种行为没有记录。原因是它可能会在新的iOS更新中发生变化,而Apple并不想过早地确定棺材。与在iOS 8中一样,PushKit被引入并且应该能够处理强制退出场景。有关详细信息,请查看本教程:https://zeropush.com/guide/guide-to-pushkit-and-voip