如何解决 CloudKit 设备之间的功能不一致
How to resolve CloudKit functionality inconsistency between devices
我已将 CloudKit 集成到我的 iOS 应用程序中,但我遇到了设备之间功能不一致的问题。
我的一个用户有一个 iPod 5th Gen 和一个 iPhone6。如果他们使用 iPod,一切都会按预期工作。但是,如果他们使用 iPhone 6 他们只能接收数据和通知,他们不能自己进行更改。当 iPhone 尝试对 iCloud public 数据库进行更改时,我没有收到任何错误并且更改是在本地进行的,他们只是永远不会将其发送到服务器(一切似乎都有效,只是没有) .
鉴于用户可以成功使用 iPod 但同一个 iCloud 帐户仅接收数据 iPhone 我认为这可能是权限或设置问题。
我检查过:
- 用户已登录 iCloud
- iCloud 驱动器已开启
- 该应用在设置的 iCloud Drive 菜单中显示为已启用
- 应用程序在 "Look Me Up By Email" 菜单下显示为已启用
其他详情:
- 可通过 TestFlight 使用该应用程序
- 该应用正在使用生产容器(TestFlight 需要)
我不知道要提供什么代码,因为该应用程序在其他设备上可以按预期运行,但请告诉我什么可以提供帮助。任何帮助将不胜感激。
这已通过将我的修改操作 qualityOfService 属性 更改为 .UserInitiated 来解决。
在我检查了 CKModifyRecordsOperation 的完成处理程序之后,我意识到我正在保存本地功能所需的数据,而不管完成处理程序是否收到错误(顺便说一下,它是否被执行)。所以当我觉得我的操作是 运行 并且没有返回任何错误时,它实际上根本不是 运行。更改 qualityOfService 似乎已解决此问题。
我已将 CloudKit 集成到我的 iOS 应用程序中,但我遇到了设备之间功能不一致的问题。
我的一个用户有一个 iPod 5th Gen 和一个 iPhone6。如果他们使用 iPod,一切都会按预期工作。但是,如果他们使用 iPhone 6 他们只能接收数据和通知,他们不能自己进行更改。当 iPhone 尝试对 iCloud public 数据库进行更改时,我没有收到任何错误并且更改是在本地进行的,他们只是永远不会将其发送到服务器(一切似乎都有效,只是没有) .
鉴于用户可以成功使用 iPod 但同一个 iCloud 帐户仅接收数据 iPhone 我认为这可能是权限或设置问题。
我检查过:
- 用户已登录 iCloud
- iCloud 驱动器已开启
- 该应用在设置的 iCloud Drive 菜单中显示为已启用
- 应用程序在 "Look Me Up By Email" 菜单下显示为已启用
其他详情:
- 可通过 TestFlight 使用该应用程序
- 该应用正在使用生产容器(TestFlight 需要)
我不知道要提供什么代码,因为该应用程序在其他设备上可以按预期运行,但请告诉我什么可以提供帮助。任何帮助将不胜感激。
这已通过将我的修改操作 qualityOfService 属性 更改为 .UserInitiated 来解决。
在我检查了 CKModifyRecordsOperation 的完成处理程序之后,我意识到我正在保存本地功能所需的数据,而不管完成处理程序是否收到错误(顺便说一下,它是否被执行)。所以当我觉得我的操作是 运行 并且没有返回任何错误时,它实际上根本不是 运行。更改 qualityOfService 似乎已解决此问题。