静音推送未传递到iOS 11上的应用程序
我注意到在iOS 11 beta 2上,application:didReceiveRemoteNotification:fetchCompletionHandler无论应用程序的状态(背景/前景)如何,静默通知都不会传递到。 我实现了该UIApplicationDelegete方法,application:didReceiveRemoteNotification:fetchCompletionHandler并发送以下静默推送 { "aps": { "content-available": 1 }, "mydata": { "foo": "bar" } } 但在iOS 11上未调用委托方法。 它在其他版本的iOS上也能正常工作,而文档部分“ 配置静默通知”中并未提及需要执行其他任何操作。 这是iOS 11中的错误,还是我错过了iOS 11中的新功能? 请注意,我并不是在谈论或使用该UserNotification框架,而该框架不需要发送静默推送。 这是一个说明问题的示例项目(您必须设置自己的bundle id) 当您午餐示例项目并将上述有效负载发送到应用程序时,您可以使用macOS控制台查看推送是否正确传递到设备,而不是正确传递给应用程序。 更新10.08 看来该行为是随机的。有时在重新启动设备后,有效负载会正确交付,但一段时间后它将停止工作。 如下面的屏幕快照所示,标记为1的推送仅发送给设备,推送2(在设备重启后)也传递给应用程序。 更新14.08-iOS 11 Beta 6 仍然是相同的行为。以下是应该起作用但不起作用的另一件事。当应用程序的方案设置为“等待启动可执行文件”时,应该以静默方式唤醒应用程序并在后台启动它。 更新21.08-iOS 11 Beta 7 仍然是相同的行为,并且错误报告中没有来自Apple的更新。 更新29.08-iOS 11 Beta 8 还是一样的问题。现在使用的重现步骤如下: 在Xcode项目方案中,选择“等待可执行文件启动” 在中添加断点 didReceiveRemoteNotification: fetchCompletionHandler …