我正在开发一款接收Zenpush服务推送通知的应用。我设法在Zenpush上设置应用和帐户以发送和接收通知。
当应用程序处于活动状态(已打开)并且我收到通知时 - 一切正常。我在application:didReceiveRemoteNotification:
处理此问题。
此外,我可以在用户到达时点击通知,或者从通知中心打开应用程序时处理通知。
问题是 - 如果应用程序在后台或终止,我无法处理通知。
我一直在努力解决这个问题一个星期了。
我在后台模式中启用了后台提取和远程通知。
在Scheme I中选中了“由于后台获取事件而启动”。
根据Apple文档和我在StackOverflow上发现的内容,我使用以下方法在后台处理通知:application:didReceiveRemoteNotification:fetchCompletionHandler:
。
无论我在通知中发送什么,都不会调用此方法。我试图通过更改某些数据并尝试NSLog来确定这一点。
https://devforums.apple.com/message/873265#873265
我在通知中包含“content-available”:1。
还有什么我想念的吗?或者也许有一种方法可以在应用程序处于后台/终止应用程序变为活动状态时获取接收方的所有通知?
答案 0 :(得分:1)
Stil无法让应用程序调用{{1}}
我决定调试从Zenpush收到的确切内容。
事实证明,使用自定义有效负载部分添加application:didReceiveRemoteNotification:fetchCompletionHandler:
并不是正确的方法。
这种方式content-available
在content-available
对象之后添加,而不是在其中。
我写了Zenpush对它的支持,如果我得到有关如何在asp
内发送content-available
的任何信息,我将编辑此答案
我得到了Zenpush支持的回应。此功能现已测试,即将推出。
Zenpush为后台服务添加了一个复选框,现在它的工作正常。