0

我正在收听来自 CloudKit 公共数据库的 CKSubscriptions 的远程通知。我想处理在应用程序暂停时收到通知的情况......我通过使用带有“等待启动可执行文件”选项的 Xcode 运行应用程序在我的设备上模拟这种情况。我注意到application:didReceiveRemoteNotification:fetchCompletionHandler委托方法被正确调用,并且在此之后我排队了一个CKFetchNotificationChangesOperation操作,但该操作从未运行。我没有得到任何notificationChangedBlockorfetchNotificationChangesCompletionBlock回调。如果应用程序在前台运行并且收到通知,则同样可以正常工作。

我尝试将 CKOperation 和操作队列上的 QoS 设置为,NSQualityOfServiceUserInteractive但这似乎也无济于事。

我也在 WiFi 上尝试这个,iPhone 以 100% 的电量插入我的电脑。

我还需要研究什么才能让 CKOOperations 在后台运行吗?

4

1 回答 1

0

我猜你过早地调用了 fetch 完成处理程序,这会暂停应用程序。您需要在所有操作结束时调用它。

于 2017-01-09T09:02:16.100 回答