如何解决 CloudKit 设备之间的功能不一致

How to resolve CloudKit functionality inconsistency between devices

我已将 CloudKit 集成到我的 iOS 应用程序中,但我遇到了设备之间功能不一致的问题。

我的一个用户有一个 iPod 5th Gen 和一个 iPhone6。如果他们使用 iPod,一切都会按预期工作。但是,如果他们使用 iPhone 6 他们只能接收数据和通知,他们不能自己进行更改。当 iPhone 尝试对 iCloud public 数据库进行更改时,我没有收到任何错误并且更改是在本地进行的,他们只是永远不会将其发送到服务器(一切似乎都有效,只是没有) .

鉴于用户可以成功使用 iPod 但同一个 iCloud 帐户仅接收数据 iPhone 我认为这可能是权限或设置问题。

我检查过:

其他详情:

我不知道要提供什么代码,因为该应用程序在其他设备上可以按预期运行,但请告诉我什么可以提供帮助。任何帮助将不胜感激。

这已通过将我的修改操作 qualityOfService 属性 更改为 .UserInitiated 来解决。

在我检查了 CKModifyRecordsOperation 的完成处理程序之后,我意识到我正在保存本地功能所需的数据,而不管完成处理程序是否收到错误(顺便说一下,它是否被执行)。所以当我觉得我的操作是 运行 并且没有返回任何错误时,它实际上根本不是 运行。更改 qualityOfService 似乎已解决此问题。