应用程序未运行时的iOS 10远程通知

时间:2017-03-04 00:11:20

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

当我收到远程通知时,我更新了一个我保存到UserDefaults的计数器,并且还显示了本地通知。当应用处于前景,背景和暂停状态Ref时,一切都按预期工作。当应用程序处于“未运行”状态时,我的计数器不会更新,也不会显示本地通知。

据我了解,我应该能够在应用完全关闭时接收和处理远程通知。一些在线文章声称当远程通知在处于非运行状态时到达应用程序:didFinishLaunchingWithOptions:应该调用application:didReceiveRemoteNotification:fetchCompletionHandler:但在我的情况下它不是。

是否可以在“未运行”状态下接收远程通知?

3 个答案:

答案 0 :(得分:1)

如果您的应用是VoIP应用,并且您正在使用VoIP推送PushKit,则推送通知将从已终止状态启动您的应用以发送通知。如果您使用标准推送通知,那么如果终止通知,您的应用将不会收到通知。您可以添加带有“无声”通知的提醒文字,以便在您的应用终止时向用户显示,以提示他们启动您的应用。

答案 1 :(得分:0)

首先,听起来你设置了静音通知。将alert数据添加到推送通知后(标题,正文等信息......您可以在here上找到更多信息),它将开始显示在锁定屏幕上。

其次,如果应用程序处于“未运行”状态,则无法通过推送通知(无提示或其他方式)启动。 The documentation on this实际上是不正确的,因为它声明只有在用户退出应用程序时才会启动应用程序。但是,这实际上也适用于非运行状态下的任何情况,例如,如果您的应用程序自安装/重新启动后从未启动过,或者由于内存而退出(这是一种相当常见的情况 - iOS清除应用程序最近根据需要运行。)

答案 2 :(得分:0)

当应用为后台时,您是否检查了此标记?enter image description here