我在任何地方都找不到如何调试静默远程通知的方法。
我知道可以通过将项目方案设置为“等待可执行文件启动”来调试正常的远程通知,但是由于无提示删除通知无法打开应用程序,因此无法正常工作。
我也不确定在收到静默远程通知时应调用哪个方法。已经尝试过:
-application:didFinishLaunchingWithOptions
-application:didFinishLaunching
-application:didReceiveRemoteNotification
-application:didReceiveRemoteNotification:fetchCompletionHandler
-application:handleActionWithIdentifier:forRemoteNotification:completionHandler
这些都不起作用...
这是我的有效载荷:
{
"aps": {
"content-available": 1,
"sound":"silent.wav"}
}
有人可以帮我吗?
发生的情况是您的负载不正确。为了将其视为将触发后台提取的静默推送通知,“ aps”字典中唯一允许的内容是"content-available":1
。由于您有声音,因此系统将忽略内容可用的部分,并将其作为常规通知发送。而且由于没有“警报”部分,因此没有与之交互的通知,也没有启动应用程序的方式。删除声音部分,您的通知将通过-application:didReceiveRemoteNotification:fetchCompletionHandler
无论您的应用是在后台运行还是未在设备上启动,这都没有区别。如果应用未运行,则iOS将在后台启动后将其唤醒并发送通知。如果已运行但已在后台运行或在前台运行,则通知将简单地传递到您的应用程序。无论采用哪种方法,它都仍然有效。
要满足此要求,还有两个其他要求: