到目前为止,有没有人设法使iCloud在tvOS上运行?
我正在使用键值存储,它成功地将所有内容保存在iCloud中。但是,它不会在iOS-App和tvOS-App之间同步数据。我为两个应用程序使用了相同的包标识符。
有没有人遇到过同样的问题?
最佳答案
因此,看来苹果在tvOS方面可能存在问题,因为如果我按照Apple上上的说明配置多个应用程序的通用键值存储 ,我可以在iOS App和macOS App之间共享,但不能tvOS应用程序使用完全相同的设置。
以下是我的结果:
我使用1st的Apple指令:
因此,CloudKit完全是关于默认容器的,而不是直接用于应用程序捆绑包ID的。因此,我使用默认容器设置了我的主要iOS应用,该容器将成为键值共享容器。
这是我的主要权利文件:
然后,我在默认存储中存储了两个NSUbiquitousKeyValueStore对,并检索了值:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
因此,在我的macOS应用程序中,我也启用了CloudKit,并删除了默认容器并将其设置为“主要iOS应用程序”容器。然后,在“权利”文件中,我手动设置
com.apple.developer.ubiquity-kvstore-identifier
以包括主应用程序的捆绑软件ID:取消选中默认容器并切换“主要对象”:
这是我的辅助macOS权利文件:
然后,我运行macOS应用程序并保存到,我从原始默认键值存储中获得了键值对,并检索了easy-peasy值:
NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation
然后,如果我对我的tvOS应用程序进行完全相同的修改,则defaultStore()显示为空,并且我无法将其与iOS和macOS应用程序共享。
这是我的辅助tsOS权利文件:
而且没有先验,没有值:
关于ios - tvOS上的iCloud同步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36716740/