SuperAPI AI 工具集

axiom-cloud-sync

设计与创作

查看项目

更新于 10-16 00:22

技能介绍

用途:指导 Apple 平台上云同步方案选型与实现,避免选错技术或忽略离线场景。

主要能力: 一、选型决策。结构化记录与关系用 CloudKit;用户文档/文件用 iCloud Drive;与结构化数据关联的大二进制用 CloudKit 的 CKAsset,独立文件用 iCloud Drive;设置偏好用 NSUbiquitousKeyValueStore(1MB 限制)。SwiftData + CloudKit 适合新应用,仅私有数据库,自动同步,无自定义冲突解决。自定义持久化(GRDB、SQLite)用 CKSyncEngine。 二、对比维度。CloudKit 支持查询、原生关系、记录级冲突解决,对用户不可见;iCloud Drive 仅按文件名、文件级冲突、在 Files App 可见。 三、离线优先。所有同步代码先写本地并立即读取,后台排队同步;避免阻塞网络的云端优先写法。冲突策略包括最后写入胜出、字段合并、用户选择。 四、反模式。忽略同步状态、同步阻塞 UI、无重试逻辑。应展示同步状态(已同步/待处理/冲突/离线),UI 先显示本地数据,保存用指数退避重试。 五、大数据量。初始同步需分批(如 200 条)或分页并使用后台任务,10 万条以上需服务端过滤与懒加载;之后 CKSyncEngine 增量同步只取变更,需持久化 stateSerialization。

必要用法:Xcode 中启用 iCloud 能力并勾选 CloudKit 或 iCloud Documents,选择容器;Apple 开发者门户配置 App ID 与 CloudKit 容器;设备需登录 iCloud 且开启 iCloud Drive。

限制与风险:CloudKit 数据用户不可见;SwiftData 方案不支持公开/共享数据库与自定义冲突解决;忽略冲突将静默丢数据;同步非即时,必须离线优先设计。相关参考技能包括 axiom-cloudkit-ref、axiom-icloud-drive-ref、axiom-cloud-sync-diag、axiom-storage。