tvOS 上的 iCloud 同步
Posted
技术标签:
【中文标题】tvOS 上的 iCloud 同步【英文标题】:iCloud synchronization on tvOS 【发布时间】:2016-04-19 11:13:58 【问题描述】:到目前为止,有没有人设法让 iCloud 在 tvOS 上运行?
我正在使用键值存储,它成功地将所有内容保存在 iCloud 中。但是,它不会在 ios-App 和 tvOS-App 之间同步数据。我对这两个应用程序使用相同的包标识符。
有人遇到过同样的问题吗?
【问题讨论】:
【参考方案1】:因此,Apple 似乎在 tvOS 方面存在问题,因为如果我按照 Apple 关于为多个应用配置通用键值存储的说明进行操作,我可以在和iOS 应用和 macOS 应用,但不是 tvOS 应用,使用完全相同的设置。
以下是我的结果:
我第一次使用的 Apple 指令:
所以,CloudKit 是关于默认的 Container 而不是直接的 App bundle ID。因此,我使用将成为键值共享容器的默认容器设置我的主要 iOS 应用程序。
这是我的主要权利文件: 然后我在默认存储中存储了两个 NSUbiquitousKeyValueStore 对并检索了值:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
因此,在我的 macOS 应用程序中,我也启用了 CloudKit,并删除了默认容器并将其设置为主要 iOS 应用程序容器。然后在 Entitlements 文件中,我手动设置 com.apple.developer.ubiquity-kvstore-identifier
以包含主应用程序的捆绑 ID:
取消选中默认容器并切换Primaries:
这是我的辅助 macOS 权利文件:
然后我运行 macOS 应用程序并 presto,我从主默认键值存储中获取键值对并检索值 easy-peasy:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
如果我随后对我的 tvOS 应用程序进行 SAME EXACT MODIFICATIONS,defaultStore() 将显示为空,我无法将其与 iOS 和 macOS 应用程序共享。
这是我的辅助 tsOS 权利文件:
没有 presto,没有价值:
【讨论】:
更新:我采用了与上述完全相同的配置,但将其切换为主要的 tvOS 应用程序,它运行良好,并且我共享相同的键值对。如果我能弄清楚是什么导致一个工作而不是另一个工作,我会重新发布。以上是关于tvOS 上的 iCloud 同步的主要内容,如果未能解决你的问题,请参考以下文章