应用程序被杀时推送通知无效

时间:2017-08-25 20:16:23

标签: iphone xcode push-notification itunesconnect native

我在本机做了一个应用程序并使用此库进行推送通知: https://github.com/zo0r/react-native-push-notification

当我使用命令'react-native run-ios'运行我的iphone应用程序时,iphone 6模拟器弹出我的应用程序运行,当我杀死应用程序时,我仍然收到通知。但是,当我从xcode运行我的程序时,它打开了一个类似的iphone 6模拟器,但现在当应用程序被杀死时,通知不起作用。然而,奇怪的是,当我关闭应用程序(也就是进入主屏幕)然后在运行w / xcode时杀死应用程序时,通知确实有效。当我准备在应用程序商店发布我的应用程序并需要获得推送通知证书时,我开始在xcode上遇到此问题。我还在我的xcode项目的'Capabilities'中启用了推送通知,我也在我的开发人员配置文件中启用了推送通知。推送通知已启用开发和生产,当用户使用主页按钮退出应用程序然后杀死应用程序时,我接收推送通知,但如果用户先杀死应用程序而不先按主页按钮,我不会收到通知。我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

应用被杀死时,将从操作系统处理通知,因此它需要一些特定的键才能显示通知。您的json应该如下

{
    "content_available": 1, 
      "notification": {
        "title":  "Mark sent you a message", 
        "sound": "default", 
        "body": "Hello", 
        "badge": 0

      } 
}

答案 1 :(得分:-1)

当应用程序强行退出时,我很惊讶你收到通知(双击主页按钮并向上滑动)。

请参阅适用于iOS的应用程序编程指南:后台执行Understanding When Your App Gets Launched in the Background,其中涉及有关强制退出应用程序的警告。

  

系统可以重新启动支持后台执行的应用程序来处理传入事件。如果某个应用因用户强行退出而导致其终止,系统会在发生以下任一事件时启动该应用:...

     

在大多数情况下,系统在用户强行退出后不会重新启动应用。一个例外是位置应用程序,...但在其他情况下,用户必须启动应用程序

Local and Remote Notification Programming Guide

  

在iOS设备上,如果用户使用应用多任务UI强制退出您的应用,则该应用在用户重新启动之前不会收到远程通知。