到目前为止,有没有人设法使iCloud在tvOS上运行?

我正在使用键值存储,它成功地将所有内容保存在iCloud中。但是,它不会在iOS-App和tvOS-App之间同步数据。我为两个应用程序使用了相同的包标识符。

有没有人遇到过同样的问题?

最佳答案

因此,看来苹果在tvOS方面可能存在问题,因为如果我按照Apple上上的说明配置多个应用程序的通用键值存储 ,我可以在iOS App和macOS App之间共享,但不能tvOS应用程序使用完全相同的设置。

以下是我的结果:

我使用1st的Apple指令:
ios - tvOS上的iCloud同步-LMLPHP

因此,CloudKit完全是关于默认容器的,而不是直接用于应用程序捆绑包ID的。因此,我使用默认容器设置了我的主要iOS应用,该容器将成为键值共享容器。

ios - tvOS上的iCloud同步-LMLPHP

这是我的主要权利文件:
ios - tvOS上的iCloud同步-LMLPHP
然后,我在默认存储中存储了两个NSUbiquitousKeyValueStore对,并检索了值:

    NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation

ios - tvOS上的iCloud同步-LMLPHP

因此,在我的macOS应用程序中,我也启用了CloudKit,并删除了默认容器并将其设置为“主要iOS应用程序”容器。然后,在“权利”文件中,我手动设置com.apple.developer.ubiquity-kvstore-identifier以包括主应用程序的捆绑软件ID:

取消选中默认容器并切换“主要对象”:
ios - tvOS上的iCloud同步-LMLPHP

这是我的辅助macOS权利文件:
ios - tvOS上的iCloud同步-LMLPHP

然后,我运行macOS应用程序并保存到,我从原始默认键值存储中获得了键值对,并检索了easy-peasy值:
    NSUbiquitousKeyValueStore.defaultStore().dictionaryRepresentation

ios - tvOS上的iCloud同步-LMLPHP
然后,如果我对我的tvOS应用程序进行完全相同的修改,则defaultStore()显示为空,并且我无法将其与iOS和macOS应用程序共享。

这是我的辅助tsOS权利文件:
ios - tvOS上的iCloud同步-LMLPHP

而且没有先验,没有值:
ios - tvOS上的iCloud同步-LMLPHP

关于ios - tvOS上的iCloud同步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36716740/

10-12 03:38