2015-11-02 67 views
9

我的应用程序商店中有我的应用程序的免费和付费版本。我正在更新应用程序以使用CloudKit共享一些公共数据。我希望免费和付费应用共享相同的数据。您可以在不同的应用程序之间共享CloudKit上的数据

首先,两个应用程序可以与CloudKit共享相同的数据吗?

如果是这样,我该如何得到这个工作?我试过在两个目标的功能中启用CloudKit,并在两个应用程序中选择相同的容器。选择“使用默认容器”的主应用程序工作正常,但另一个应用程序,我选择了“指定自定义容器”并从第一个目标中选择自定义容器,当我尝试下载任何东西时返回错误。

回答

12

是的,多个应用程序可以使用相同的CloudKit数据。当你拿到你的CKContainer时,我假设你对这两个应用程序使用类似以下内容的东西?

let container = CKContainer.defaultContainer() 

这适用于主应用程序(捆绑标识符与cloudkit标识符匹配的应用程序)。其他应用程序将需要像这样初始化容器:

let container = CKContainer(identifier: "iCloud.com.example.appname") 
+0

谢谢。我通过在两个目标中明确声明标识符来实现这个工作。 –

+0

我是否需要在功能窗格中启用应用程序组? –

+0

不,应用组用于在应用之间共享文件。您需要在每个应用程序的功能窗格中启用iCloud容器。 – lehn0058

相关问题