iCloud:在 iOS 和 tvOS 之间同步键值存储
iCloud: Sync key-value-storage between iOS and tvOS
我在 iOS 和 tvOS 上有一个应用 运行。我已使用 iCloud 键值存储设置设置同步:
- iOS版本使用iCloud KVS同步数据。这工作正常。
- tvOS版本使用iCloud KVS同步数据。也工作正常。
- 但是,我无法让 iOS 和 tvOS 版本相互同步。
我相信我已正确执行所有步骤:
- 相同的应用程序 ID,相同的捆绑包 ID。
- 在所有设备上登录同一个 iCloud 帐户。
- 权利中的字段
com.apple.developer.ubiquity-kvstore-identifier
相同($(TeamIdentifierPrefix)$(CFBundleIdentifier))。
- 键名相同
- 两个应用程序都通过网络同步(不仅仅是本地缓存)。
有人 cross-iOS/tvOS 同步工作了吗?这可能吗?感谢您的任何建议。
我认为 Apple 在这里有问题,因为我可以在 iOS 应用程序和 macOS 应用程序之间共享没问题,但是当我将相同的程序和权利应用到我的 tvOS 应用程序时,我无法检索共享密钥-价值观。我刚刚回答了一个类似的问题,我的测试的完整结果可以在这里找到:
上面,您提到您设置了 com.apple.developer.ubiquity-kvstore-identifier
,但 CloudKit 也与默认容器有关。您需要确保您的应用程序也在使用您的主要共享容器。以下是 Apple 的说明:
在这里为后代回答:交叉同步实际上工作正常,错误实际上在于我们如何处理存储值的序列化和反序列化。在我们深入研究之前,我们错过了异常。
我在 iOS 和 tvOS 上有一个应用 运行。我已使用 iCloud 键值存储设置设置同步:
- iOS版本使用iCloud KVS同步数据。这工作正常。
- tvOS版本使用iCloud KVS同步数据。也工作正常。
- 但是,我无法让 iOS 和 tvOS 版本相互同步。
我相信我已正确执行所有步骤:
- 相同的应用程序 ID,相同的捆绑包 ID。
- 在所有设备上登录同一个 iCloud 帐户。
- 权利中的字段
com.apple.developer.ubiquity-kvstore-identifier
相同($(TeamIdentifierPrefix)$(CFBundleIdentifier))。 - 键名相同
- 两个应用程序都通过网络同步(不仅仅是本地缓存)。
有人 cross-iOS/tvOS 同步工作了吗?这可能吗?感谢您的任何建议。
我认为 Apple 在这里有问题,因为我可以在 iOS 应用程序和 macOS 应用程序之间共享没问题,但是当我将相同的程序和权利应用到我的 tvOS 应用程序时,我无法检索共享密钥-价值观。我刚刚回答了一个类似的问题,我的测试的完整结果可以在这里找到:
上面,您提到您设置了 com.apple.developer.ubiquity-kvstore-identifier
,但 CloudKit 也与默认容器有关。您需要确保您的应用程序也在使用您的主要共享容器。以下是 Apple 的说明:
在这里为后代回答:交叉同步实际上工作正常,错误实际上在于我们如何处理存储值的序列化和反序列化。在我们深入研究之前,我们错过了异常。