到目前为止,有人设法让iCloud在tvOS上工作吗?
我正在使用键值存储,它成功地将所有内容保存在iCloud中。但是,它不会同步iOS-App和tvOS-App之间的数据。我为两个应用程序使用相同的bundle-identifier。
有没有人遇到过同样的问题?
答案 0 :(得分:2)
所以,似乎苹果可能在tvOS方面存在问题,因为如果我按照Apple的说明为多个应用配置通用键值存储 我可以使用完全相同的设置在iOS App和macOS App之间共享,但不能与tvOS应用共享。
以下是我的结果:
因此,CloudKit完全是关于默认的容器,而不是直接的应用程序包ID。因此,我使用默认容器设置我的主iOS应用程序,该容器将成为键值共享容器。
以下是我的主要权利文件: 然后我在默认存储中存储了两个NSUbiquitousKeyValueStore对并检索了值:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
因此,在我的macOS应用程序中,我也启用了CloudKit,并删除了默认容器并将其设置为主iOS应用程序容器。然后在 Entitlements 文件中,我手动设置com.apple.developer.ubiquity-kvstore-identifier
以包含主应用程序的软件包ID:
然后我运行macOS app并presto ,我有来自primaries默认键值存储的键值对,并检索了easy-peasy的值:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
如果我然后对我的tvOS应用程序进行相同的修改,则defaultStore()显示为空,我无法与iOS和macOS应用程序共享。