CKQueryOperation iOS 9 仅在插入时工作

CKQueryOperation iOS 9 only work plugged in

我在我的 iOS 9 应用程序中使用 CloudKit,我有一个 CKQueryOperation 可以正常工作,并且在插入 Mac 时可以正常运行。一旦查询为 运行 而未插入 Mac,它就不会完成。没有错误消息,我添加的 activity 指标从不停止并且从不显示结果。

如果我在拔掉电源的情况下开始运行,然后插入它也可以完成。

代码是从 Xcode 6.4 中内置的应用程序复制和改编的,并在该应用程序中按预期工作。

知道为什么会发生这种情况吗?这可能与 iOS 9 中的应用程序瘦身有关吗?

谢谢

回答

添加这个解决了问题: queryOperation.qualityOfService = NSQualityOfService.UserInitiated

默认QoS 在iOS 9 中更改。如果查询操作是用户发起的,则需要将其标记为这样。

参见 CKOperation.h 和 QualityOfService 属性。