我正处于创建应用程序的早期阶段,我希望在其中保存、同步和备份数据。该应用程序不会将任何文件只存储在数据库中的数据。它将是iOS 8和更高版本,所以我可以使用CloudKit。我做了一些研究,但仍不清楚核心数据、iCloud和CloudKit是如何协同工作的。
据了解,CloudKit只是从云中获取和检索数据的一种方式。CloudKit只是一种与iCloud同步数据的不同方式吗?
我的问题是:
如果我确实使用CloudKit,还需要创建本地核心数据数据库吗?
- If yes will it be automatically synced with iCloud or I would
我遵循这个WWDC2020 video尝试将cloudKit数据库作用域指定为public,例如 cloudKitContainerOptions.databaseScope = .public 然而,Xcode13总是抱怨 com.apple.coredata.cloudkit.zone:__defaultOwner__ = <CKError 0x6000014988d0: "Server Rejected Request" (15/2027); server message = "Custom zones are not allowed in public
应用程序允许个人用户输入字段并保存在设备上。
Name of hotel
Location of hotel
Type of Hotel
并增加了一些功能,比如,如果他们发现酒店服务的好坏。
现在,我的问题出现了,因为我想要一些信息,比如酒店的名称和它的位置,对于在最喜欢的酒店部分安装应用程序的所有用户来说都是可见的。
核心数据中是否有任何选项允许我使用cloudkit,或者我需要使用cloudkit,问题是,如果我使用cloudkit,这是否使coredata不再适用于项目?
我在测试中发现了一些奇怪的东西。首先,我将Erase All Content and Settings放在模拟器上,然后手动删除CloudKit中的所有记录。当我第一次运行这个应用程序时,我注意到有2000多条记录被删除了。我不明白为什么(甚至在哪里!)它们被储存起来了。我完全错过了什么吗?下面是作为更新检查的一部分运行的CloudKit方法的一部分。
operation.fetchDatabaseChangesCompletionBlock = { (token, more, error) in
if error != nil {
finishClosure(UIBa
Swift 3.1,Xcode 8.3.3
我一直从CloudKit那里得到一个错误,我不知道该怎么做。
我像这样跟踪来自CloudKit的通知:
let operation = CKFetchNotificationChangesOperation(previousServerChangeToken: previousChangeToken)
//Hold the notification IDs we processed so we can tell CloudKit to never send them to us again
var notificationIDs = [CKNoti