如何调试静默远程通知

问题描述 投票:2回答:1

我在任何地方都找不到如何调试静默远程通知的方法。

我知道可以通过将项目方案设置为“等待可执行文件启动”来调试正常的远程通知,但是由于无提示删除通知无法打开应用程序,因此无法正常工作。

我也不确定在收到静默远程通知时应调用哪个方法。已经尝试过:

-application:didFinishLaunchingWithOptions
-application:didFinishLaunching
-application:didReceiveRemoteNotification
-application:didReceiveRemoteNotification:fetchCompletionHandler
-application:handleActionWithIdentifier:forRemoteNotification:completionHandler

这些都不起作用...

这是我的有效载荷:

{
  "aps": {
    "content-available": 1,
    "sound":"silent.wav"}
}

有人可以帮我吗?

ios objective-c
1个回答
3
投票

发生的情况是您的负载不正确。为了将其视为将触发后台提取的静默推送通知,“ aps”字典中唯一允许的内容是"content-available":1。由于您有声音,因此系统将忽略内容可用的部分,并将其作为常规通知发送。而且由于没有“警报”部分,因此没有与之交互的通知,也没有启动应用程序的方式。删除声音部分,您的通知将通过-application:didReceiveRemoteNotification:fetchCompletionHandler

发出

无论您的应用是在后台运行还是未在设备上启动,这都没有区别。如果应用未运行,则iOS将在后台启动后将其唤醒并发送通知。如果已运行但已在后台运行或在前台运行,则通知将简单地传递到您的应用程序。无论采用哪种方法,它都仍然有效。

要满足此要求,还有两个其他要求:

  1. 您的设备必须为您的应用启用了后台抓取。
  2. 您无法通过从多任务UI向上滑动来手动杀死该应用程序。如果您这样做,iOS将永远不会唤醒应用程序,直到用户再次运行它为止。

推荐问答