2

所以我的问题就像标题中写的那样,如果你可以使用 NSPersistentCloudKitContainer 在不同的应用程序之间共享数据,比如你有一个不同的 iPad 应用程序、一个不同的 iPhone 应用程序和一个不同的 Mac 应用程序,如果可能的话,你会怎么做?提前致谢!

4

1 回答 1

5

是的,您甚至可以跨不同平台(macOS、iOS)。实际上,我已经这样做了好几次了。只需要相同的 iCloud 捆绑包 ID。单击功能以选择iCloud。打开CloudKit复选框按钮。然后在下面选择一个特定的捆绑 ID。

如果要使用相同的云容器,则必须小心使用的数据类型。例如,您不应该将 UIImage 或 NSImage 保存在那里,因为它们彼此不完全兼容。在这种情况下,您应该将图像另存为Data.

在此处输入图像描述

添加

当您想要使用项目自动创建的(默认)之外的特定云容器时,请确保在访问云数据库时指定它。macOS 和 iOS 也是如此。

let cloudContainer = CKContainer(identifier: "iCloud.com.tomato.Eltomato")
let publicDB = cloudContainer.publicCloudDatabase
于 2020-01-10T14:31:17.673 回答