SuperAPI AI 工具集

cloudkit-sync

编程与开发

查看项目

更新于 10-15 21:12

技能介绍

用途:在 iOS/macOS 应用中实现、审查或改进 CloudKit 与 iCloud 同步,涵盖容器设置、记录 CRUD、查询、订阅、CKSyncEngine、SwiftData 集成、冲突解决与错误处理,面向 iOS 26+ 与 Swift 6.2。

主要能力:容器与数据库(public/private/shared)设置;CKRecord 增删改查与自定义记录区;CKQuery 谓词查询与全文搜索;CKSubscription 推送订阅;CKSyncEngine(iOS 17+)自动调度、重试与变更令牌;SwiftData + CloudKit 集成;NSUbiquitousKeyValueStore 键值同步;iCloud Drive 文件同步;账户状态检查与 CKError 处理;三方合并冲突解决;常见错误与审查清单。

使用方式:在 Signing & Capabilities 启用 iCloud + CloudKit;用 CKContainer.default() 或指定标识符获取数据库;记录以键值对存储,单条上限 1 MB(不含 CKAsset);查询用 NSPredicate;订阅用 CKQuerySubscription、CKDatabaseSubscription、CKRecordZoneSubscription;CKSyncEngine 需持久化 stateSerialization;SwiftData 模型须用可选属性、避免 #Unique、大文件用 @Attribute(.externalStorage)。

适用场景:跨设备同步用户数据、推送式增量同步、文档级 iCloud Drive 同步、SwiftData 应用接入 CloudKit。

限制:CKSyncEngine 仅支持 private 与 shared 数据库;公共库写入需 iCloud;键值存储上限 1024 键、总计 1 MB、单值 1 MB;需处理 .serverRecordChanged、.quotaExceeded、.changeTokenExpired、.userDeletedZone 等错误;敏感数据应使用 encryptedValues。