您可以在不同应用程序之间共享CloudKit上的数据吗?

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

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

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

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

let container = CKContainer.defaultContainer() 

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

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