数据导入/导出与备份
如何管理你的数据,包括本地存储、iCloud 同步、手动备份与恢复、CSV 导入导出,以及如何彻底清空数据。
最后更新:2026-06-20
核心原则:所有数据都保存在你自己的设备和你本人的 iCloud 私有空间,开发者没有服务器、无法访问。是否同步、备份、导出,完全由你决定。
一、数据存在哪里
| 数据 | 存储位置 | 是否随 iCloud 同步 |
|---|---|---|
| 饮水记录、每日目标、饮品库、个人资料(性别/体重等) | 设备本地数据库(Apple SwiftData) | ✅ 开启 iCloud 同步后会同步 |
| 提醒/健康授权状态、天气计算结果、近 7 天均值 | 仅当前设备(不进 iCloud) | ❌ 每台设备独立 |
| 小组件今日进度 | App Group 本地快照 | ❌ 仅本机展示 |
「仅当前设备」的数据属于设备本地状态,不会进入 iCloud,也不包含在备份里——这是有意为之,避免把某台设备的临时计算结果同步到其他设备。
二、iCloud 自动同步
- 入口:我的 → 数据与备份 → iCloud 自动同步(开关,默认开启)。
- 开启后,饮水记录、每日目标与饮品库会通过你的 iCloud 私有数据库在你本人的 Apple 设备之间自动同步。
- 同步基于 Apple 的 CloudKit,数据只在你的账户内流转,开发者无法查看。
- 切换该开关后,需要退出并重新打开 App 才会生效。
- 多设备可能产生重复数据,App 会在每次启动时自动去重合并(以最近修改时间为准)。
需要登录 iCloud 才能使用。若设备未登录 iCloud,App 仍可作为纯本地应用正常使用。
三、手动云备份与恢复
入口:我的 → 数据与备份 → 手动云备份。
立即备份
- 将当前完整数据(记录、目标、饮品库、资料)打包成一份副本,保存到你的 iCloud 私有空间。
- 备份只保留最近一份:再次备份会覆盖上一份。
- 需要登录 iCloud。若未登录或网络不可用,会给出明确提示。
恢复备份
- 从 iCloud 取回最近一次的备份,替换当前设备上的记录、目标与饮品库。
- 属于破坏性操作,恢复前会有二次确认。
- 建议在换机、重装或数据异常时使用。
自动同步与手动备份是两套独立机制:自动同步保持多设备实时一致;手动备份是你主动留存的"存档点",可随时回滚。
四、CSV 导出
入口:我的 → 数据与备份 → 导入 / 导出 → 导出饮水记录 CSV。
- 导出当前全部饮水记录为 CSV 表格,可保存到"文件"或分享。
- 文件名形如
认真喝水-饮水记录-2026-06-20。 - 编码为带 BOM 的 UTF-8,Excel / Numbers 可直接正确打开中文。
列结构:
| 列 | 含义 |
|---|---|
| 时间 | 记录时间(ISO 8601) |
| 饮品 | 饮品名称 |
| 容量(ml) | 本次饮用容量 |
| 补水率 | 该饮品的净补水系数(记录时固化) |
| 有效补水(ml) | 容量 × 补水率(可为负,如酒类抵扣进度) |
| 备注 | 可选备注 |
五、CSV 导入
此方法也可以支持从其他 App 迁移数据
入口:我的 → 数据与备份 → 导入 / 导出 → 导入 CSV 记录。
导入是非破坏性的:只会新增记录,并自动按「时间 + 容量 + 名称」去重,重复行会被跳过,因此同一文件可安全多次导入。
智能识别表头
导入不依赖固定列顺序,而是按表头自动匹配列,因此既能导入本 App 导出的文件,也能迁移部分第三方喝水 App 的导出数据。只要表格里能找到「名称 + 容量 + 时间」三类列即可识别。
可识别的列名(中英文均可,含部分常见别名):
| 用途 | 可识别的表头 |
|---|---|
| 饮品名称 | 饮品 / Drink Type / 饮品名称 / Drink |
| 容量 | 容量(ml) / Hydration Volume(ml) / Volume(ml) / 容量 |
| 补水率 | 补水率 / WaterRatio / Water Ratio |
| 备注 | 备注 / Note |
| 日期 | Date / 日期 |
| 时间 | 时间 / Time |
时间支持两种写法:本 App 的单列 ISO 8601 时间,或第三方常见的日期 + 时间分列(如 2026/6/19 + 23:36)。
示例:从「某喝水 App」迁移
「某喝水 App」导出的表头形如
Drink Type, Hydration Volume(ml), Water Volume(ml), …, Date, Time, …, WaterRatio, …,
导入时会自动取用其中的 Drink Type(名称)、Hydration Volume(ml)(容量)、WaterRatio(补水率)与 Date + Time(时间),其余无关列忽略。
- 名称能对上内置饮品(如「水 / 茶」)的,按内置类型记录;其余(如「美式咖啡」)作为自定义饮品名保存。
- 导入完成会提示成功导入条数与跳过条数(重复或格式无效)。
六、清空所有数据
入口:我的 → 数据与备份 → 危险操作 → 清空所有数据。
- 永久删除全部饮水记录、每日目标、饮品库与个人设置。
- 若已开启 iCloud 同步,云端及其他设备上的数据也会一并删除。
- 清空后会重建为初始的默认饮品库,无需重启即可继续使用。
- 属于不可恢复操作,需经过两步确认。建议先「导出 CSV」或「立即备份」留存副本。
常见问题
Q:导出的 CSV 能再导回来吗? 能。本 App 导出的 CSV 可直接通过「导入 CSV」原样导回,并自动去重。
Q:导入会不会产生重复? 不会。按「时间 + 容量 + 名称」去重,重复行自动跳过。
Q:备份里包含提醒时间、健康授权状态吗? 不包含。这些属于设备本地状态,不进 iCloud、也不进备份,换机后需重新设置授权。
Q:不登录 iCloud 能用吗? 能。App 核心功能完全本地,不依赖网络与 iCloud;同步与云备份是可选项。