gpt4 book ai didi

swift - 将核心数据同步到 CloudKit 公共(public)数据库

转载 作者:行者123 更新时间:2023-12-05 08:39:10 29 4
gpt4 key购买 nike

在下面的链接中,有一个项目的源代码,允许您在相同的用户设备之间同步核心数据。数据存储在用户私有(private)数据库中...有没有办法从公共(public) CloudKit 数据库中的 CoreData 同步数据,以便所有应用程序用户之间的应用程序都相同?为什么 NSPersistentCloudKitContainer 不允许你设置这个?

https://developer.apple.com/documentation/coredata/synchronizing_a_local_store_to_the_cloud

最佳答案

这现在可以通过新的 databaseScope 属性在 iOS 14.0+ Beta 和 macOS 11.0+ Beta 中实现:https://developer.apple.com/documentation/coredata/nspersistentcloudkitcontaineroptions/3580372-databasescope

可能的值是.public(公共(public)数据库),.private(私有(private)数据库)和.shared(共享数据库) ).

例如:

let container = NSPersistentCloudKitContainer(name: "test")
guard let description = container.persistentStoreDescriptions.first else {
fatalError("Error")
}
description.cloudKitContainerOptions?.databaseScope = .public

视频https://developer.apple.com/videos/play/wwdc2020/10650描述了如何通过将 databaseScope 值设置为 .public.

来同步 Core Data 存储与 CloudKit 公共(public)数据库

您可能还需要一个#available 检查以确保向后兼容性,即:

if #available(iOS 14.0, *) {
description.cloudKitContainerOptions?.databaseScope = .public
} else {
// Fallback on earlier versions
}

关于swift - 将核心数据同步到 CloudKit 公共(public)数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60774281/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com