【发布时间】:2020-01-10 14:17:54
【问题描述】:
所以我的问题如标题中所写,如果您可以使用 NSPersistentCloudKitContainer 在不同的应用程序之间共享数据,例如您有一个不同的 iPad 应用程序、一个不同的 iPhone 应用程序和一个不同的 Mac 应用程序,如果可能的话,您会如何去做? 提前致谢!
【问题讨论】:
标签: swift nspersistentcloudkitcontainer
所以我的问题如标题中所写,如果您可以使用 NSPersistentCloudKitContainer 在不同的应用程序之间共享数据,例如您有一个不同的 iPad 应用程序、一个不同的 iPhone 应用程序和一个不同的 Mac 应用程序,如果可能的话,您会如何去做? 提前致谢!
【问题讨论】:
标签: swift nspersistentcloudkitcontainer
是的,即使跨不同平台(macOS、iOS)也可以。实际上,我已经这样做了好几次了。只需要相同的 iCloud 捆绑包 ID。单击功能以选择 iCloud。打开 CloudKit 复选框按钮。然后在下面选择一个特定的捆绑包 ID。
如果您要使用相同的云容器,则必须小心使用的数据类型。例如,您不应将 UIImage 或 NSImage 保存在那里,因为它们彼此不完全兼容。在这种情况下,您应该将图像保存为Data。
加法
当您想要使用项目自动创建的(默认)之外的特定云容器时,请确保在访问云数据库时指定它。 macOS 和 iOS 也是如此。
let cloudContainer = CKContainer(identifier: "iCloud.com.tomato.Eltomato")
let publicDB = cloudContainer.publicCloudDatabase
【讨论】: