【问题标题】:Accessing non-default Cloudkit container with Swift使用 Swift 访问非默认 Cloudkit 容器
【发布时间】:2015-07-03 06:12:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios swift ios8 cloudkit


    【解决方案1】:

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

    let container = CKContainer(identifier: "iCloud.com.MyCompany.OneOfMyApps")
    

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

    【讨论】:

    • @imas145 我可以通过编程方式从权利中获取标识符吗?设置两次是没有意义的。 (一个在权利中,另一个在 CKContainer 中)
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    相关资源
    最近更新 更多