用途:为 iOS 存储方案提供统一的决策导航,回答“数据该存哪”“用 SwiftData 还是文件”“CloudKit 还是 iCloud Drive”“Documents 还是 Caches”“本地还是云端”等问题。适用 iOS 17+。
主要能力:从两个维度给出判断。格式维度区分结构化可查询数据与文件;位置维度区分本地目录与云同步方式。结构化数据在现代应用中推荐 SwiftData,需要全文检索、复杂 SQL、极致性能时可用 SQLiteData 或 GRDB;新项目不建议 Core Data。文件按类型划分:用户创建内容放 Documents,应用生成需持久的数据放 Library/Application Support,可重新下载或再生成的内容放 Library/Caches 并设 isExcludedFromBackup,临时文件放 tmp。云同步方面,结构化数据用 CloudKit(SwiftData+CloudKit、CKSyncEngine 或原始 API),文件用 iCloud Drive,小于 1 MB 的偏好项用 NSUbiquitousKeyValueStore。还包含 tvOS 存储差异、数据丢失与同步失败的排查、以及存储迁移清单。
使用方式:作为存储决策参考,按决策树选择格式与位置。实现细节需配合对应技能,如 axiom-swiftdata、axiom-sqlitedata、axiom-grdb、axiom-cloudkit-ref、axiom-icloud-drive-ref 等。
适用场景:新项目选型、数据架构规划、离线与在线方案设计、备份膨胀或数据不同步问题排查、存储方案迁移。
限制:本技能不涵盖 SwiftData、SQLite/GRDB、CloudKit 同步、文件保护 API 的具体实现。tvOS 无持久本地存储,本地文件可能随时被清除。iCloud Drive 需要相应容器权限;NSUbiquitousKeyValueStore 有 1 MB 总量、1024 键、单值 1 MB 限制。价格与收费情况暂未提供。