0013 私人菜谱与跨端文件迁移
决定
先完成 Web 与 iOS 私人菜谱的增删改和安全备份恢复,不引入新的 Web 云服务。使用独立的版本化 JSON 协议,保留 Web 现有 customId,不复用内置菜谱整数 id。现有收藏/历史协议保持不变。
iOS 新增 CloudKit 兼容的 SwiftData 模型,复用既有私有同步机制;iCloud 仅在同一 Apple 账号的 Apple 设备间同步,Web 与 iOS 通过用户选择的文件迁移。文件冲突默认跳过,也可显式保留两份,绝不按时间自动覆盖。
范围与取舍
食材/厨具为每道私人菜谱的文本字段。首版不修改公共词典、不提供全局私人词典或公开投稿。Web 原有匹配/随机行为保留;iOS 先提供独立“我的菜谱”,推荐/收藏/历史的私人身份扩展另行设计,避免用临时负数或哈希冒充永久 id。
后续产品决策:iOS 私人菜谱是否参与推荐及收藏;私人词典的改名/删除影响范围;是否增加 Web 账号云同步;是否提供并发编辑版本历史。
维护者于 2026-10-24 明确采用代码与模拟器验收作为本轮源码合并条件:整合最新 main 后,代码检查、Web/Swift 文件往返和 iPhone/iPad 模拟器测试全部通过。CloudKit 跨设备同步、账号隔离、退出 iCloud 后的本地数据保留、Development/Production schema 及生产读写仍是发布门禁,未验证项不得记为通过;源码合并不代表部署 schema 或发布 App。
协议、迁移和验收说明见 私人菜谱与文件迁移。