管理多个 Store cloudkit 容器

Posted

技术标签:

【中文标题】管理多个 Store cloudkit 容器【英文标题】:Manage multiple Store cloudkit container 【发布时间】:2020-05-26 06:33:19 【问题描述】:

我有一个与 icloud 同步的 todolist 应用程序,但我想设置一个默认文件夹,它只是本地的,类似于“收件箱”。我已经阅读了这个苹果文档https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit/setting_up_core_data_with_cloudkit

但是当我在代码上创建实体时,我真的不明白如何选择本地容器而不是云容器。

这是我正在创建新实体的示例代码:

        let newarchiovio = Archivio(context: self.moc)
        newarchiovio.id = UUID()
        newarchiovio.nome = "inbox"
        newarchiovio.icona = "tray"
        newarchiovio.colore = "purple"
        newarchiovio.data = "1"
        newarchiovio.favorite = true

        try? self.moc.save()

现在我只使用与云同步的默认容器。谁能给我举个例子,说明我在保存实体时如何手动选择容器? 谢谢!

【问题讨论】:

我认为您必须使用上下文将其分配给正确的商店。见here。 啊好吧,比如:self.moc.assing(obj,CKContainer(identifier: "container name here"))? 【参考方案1】:

您可以像这里一样使用不同的容器:

CKContainer(identifier: "container name here")

【讨论】:

谢谢回答,能不能写个实际的例子? 没问题。你到底想让我写什么?如果您对 CoreData 或 CloudKit 有更具体的问题,您可以随时提出新问题。 好的,如果我必须像之前的示例一样创建一个新的 obj,那么我必须使用 moc 的 save() 方法保存它,但在这种情况下是保存在通用容器中对吗?我不明白我必须使用哪种方法将该 obj 分配给特定容器。你能写一个例子来创建一个新对象并将它保存在一个特定的容器中吗?谢谢(我正在使用 swiftui)

以上是关于管理多个 Store cloudkit 容器的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 CloudKit 仪表板和容器

CloudKit 在 App Store 部署后不再工作

使用 CloudKit/iCloud 时 Apple Store 构建被拒绝

如何让多个用户同时更新我的​​一条 CloudKit 记录而不重叠?

CloudKit:将容器环境从开发切换到生产

CloudKit - “容器的无效捆绑 ID”