我正在收听来自CloudKit公共数据库的CKSubscriptions的远程通知。我想处理我在应用程序暂停时收到通知的情况...我通过使用Xcode运行应用程序在我的设备上模拟这个"等待可执行文件启动"选项。我注意到application:didReceiveRemoteNotification:fetchCompletionHandler
委托方法被正确调用,我在此之后排队CKFetchNotificationChangesOperation
操作,但操作永远不会运行。我没有获得任何notificationChangedBlock
或fetchNotificationChangesCompletionBlock
回调。如果应用程序在前台运行并且有通知,则同样可以正常工作。
我已经尝试将CKOperation和操作队列的QoS设置为NSQualityOfServiceUserInteractive
,但这似乎没有帮助。
我也在WiFi上尝试这个,iPhone以100%的费用插入我的电脑。
为了让CKOperations在后台运行,还有什么我需要研究的吗?
答案 0 :(得分:0)
我猜你过早地调用了fetch完成处理程序暂停了app。您需要在所有操作结束时调用它。