如何调试静默远程通知

时间:2014-10-20 06:20:22

标签: ios objective-c

我无法在任何地方找到如何调试静音远程通知。

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

当我收到静音远程通知时,我也不确定应该调用哪种方法。 已经尝试过:

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

这些都没有奏效......

这是我的有效载荷:{" aps":{" content-available":1," sound":" silent.wav&#34 ;}}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

发生了什么事情,你的有效载荷不正确。为了将它视为一个静音推送通知,它将触发后台提取,这是" aps"字典是"content-available":1。由于您有声音,系统会忽略内容可用部分并将其作为常规通知发送。而且因为没有"警报"部分,没有与之交互的通知,也没有办法启动您的应用。删除声音部分,您的通知将通过-application:didReceiveRemoteNotification:fetchCompletionHandler

如果您的应用在后台运行或尚未在设备上启动,则没有任何区别。如果应用程序未运行,iOS将在应用程序在后台启动后将其唤醒并发送通知。如果它已经运行但后台运行或者它在前台运行,则通知将简单地发送到您的应用。无论它仍然采用相同的方法。

另外还有两个要求:

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