ios – 使用Swift访问非默认的Cloudkit容器

我有一个 IOS 8应用程序,它成功地将记录写入其默认的Cloudkit容器.现在我希望在OS X下的不同应用程序中读取和处理这些记录.我已经设置了具有iCloud访问权限的新应用程序,并选中了“指定自定义容器”选项.这已成功找到原始应用程序和我的容器没有错误要在Capabilities界面上修复.

我的所有搜索都告诉我“同一个开发人员签署的两个应用程序可能共享同一个容器”但我找不到的任何教程文档都告诉我如何从自定义容器访问数据.所有示例似乎都以’let container = CKContainer.defaultContainer()’开头.但是,我不想从默认容器访问记录.我想要自定义容器.

Apple文档建议使用init()结构,但这让我感到困惑.这似乎是一个简单的请求.希望有人可以给我一个简单的解决方案.

解决方法

这是未经测试的代码,但据我所知,自定义容器允许您跨多个应用程序共享这些容器.在“功能”窗格中,您可以选择在此应用中选择使用的所有其他应用中可用的所有容器中的哪一个.默认容器是iCloud.com.MyCompany.MyApp,应自动选择.现在您已经指定了所需的容器,可以使用init()访问它们
let container = CKContainer(identifier: "iCloud.com.MyCompany.OneOfMyApps")

基本上,标识符是自定义容器下的iCloud功能窗格中列出的标识符之一.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...