SuperAPI AI 工具集

ios-data-persistence

数据与分析

查看项目

更新于 10-16 08:03

技能介绍

用途:设计、实现或评审 iOS 持久化方案,覆盖 SwiftData、Core Data 迁移、UserDefaults、Keychain、文件存储、离线同步、Core Spotlight 语义索引、App Entity 暴露、AI 本地上下文与隐私敏感缓存。当任务涉及本地存储、迁移、离线优先同步、搜索/索引、Siri/App Entity 数据暴露或 AI 缓存保留时使用。

不适用:无本地数据或缓存关注的一般 iOS 实现(用 ios-development);仅平台能力路由(用 ios-platform-capabilities);纯安全策略(配合 ios-security-and-rbac)。

必要输入:数据模型、敏感度分级、部署目标、同步/后端契约、离线需求、账号/租户模型、删除规则,以及数据是否暴露给 Spotlight、Siri、小组件或 AI 上下文。

工作流:先加载 ios-development 遵循 Swift 与项目规范;选择存储(UserDefaults、Keychain、SwiftData/Core Data、FileManager、URLCache/NSCache、Core Spotlight 或 AI 本地上下文缓存);按需加载 references/ios-swiftdata.md 与 references/semantic-indexing-and-ai-caches-wwdc26.md;产出模型规格、迁移计划、缓存策略、删除策略与测试计划。

质量要求:持久化模型需分离存储数据、领域实体、DTO 及搜索/意图投影;密钥放 Keychain 或更强平台存储,不放 UserDefaults、SwiftData、Spotlight 或日志;离线数据须有冲突、同步、过期与删除行为;被索引或用于 AI 上下文的数据须有保留、失效及用户/账号清理规则。

反模式:未审查字段就把存储模型直接作为 App Entity 暴露;登出、角色变更、租户切换或删除后仍保留过期 Spotlight 条目;将本地 AI 上下文当作无保留与删除控制的隐藏长期记忆;把 SwiftData 迁移仅当成编译期问题。

存储选择:偏好用 UserDefaults;令牌/凭据用 Keychain Services;结构化应用数据用 SwiftData 或 Core Data;可搜索安全投影用 Core Spotlight/App Entity;大文件/图片用 FileManager;临时缓存用 URLCache/NSCache;AI 本地上下文用应用自有加密缓存或 SwiftData 投影,切勿含原始机密。规则:简单标量用 UserDefaults,机密用 Keychain,需关系/查询用 SwiftData,二进制用 FileManager,搜索/Siri/AI 暴露用单独投影并做隐私评审。

输出:持久化模型规格、存储决策、SwiftData 迁移计划、离线同步计划、搜索/索引投影、AI 缓存策略或评审发现。证据产物包括数据安全的模型规格(Markdown,按实体模型模板覆盖实体、投影、保留与删除)与正确性的持久化测试计划(覆盖 CRUD、迁移、同步、索引与删除用例)。具体价格、平台与效果暂未提供。