客户资料只放在设备本地,好处很多,但也留下一个麻烦:副本只有一份,装在你随身带着的这台 iPad 里。
之前那篇不用云端账号整理客户表单的文章里,给的建议是靠系统自带的整机备份。这个建议其实有点单薄:屏幕摔裂的周二早上,客户在旁边等着,你没法把一份整机备份直接搬到新 iPad 上就用,也没法把这份备份单独存一份,放在原设备之外的地方。
所以答案是:一个文件,装下全部内容。
一个文件,装的是什么
“设置”里有一块“备份与恢复”。点一下“创建备份”,应用会生成一个单独的压缩包,然后交给系统的分享面板,存到哪儿由你决定。

压缩包里装的是客户、模板和签好表单的完整记录,旁边还带着这些记录关联的每一个文件:模板 PDF、签好的 PDF,以及挂在客户名下的附件。附件这部分很关键,如果备份只打包了记录本身、却漏掉了 PDF,恢复出来的就是一堆打不开的表单。

文件名就是制作这份备份那天的日期。
存的是数据本身,不是数据库文件
做备份最省事的办法,是直接拷贝应用的数据库文件。这个办法能用,但只要应用一更新、数据库结构一变,老备份要么得迁移,要么干脆没法恢复了。备份就是这样在不知不觉中失效的。
这里换了个思路:打包的是记录本身,是能被读懂的那种数据格式,写出来之后,不管恢复时用的是哪个版本的 App,都能重新读进去。老版本做出来的备份,放到新版本上照样能恢复,新版本读到这些记录,就按它平时保存数据的方式存下来,没有别的门槛。所以半年前做的一份备份,现在依然是一份能用的备份。
恢复是替换,不是合并
点“从备份恢复”,应用会先弹出确认框,把接下来要发生的事说清楚:“这会用此备份的内容替换当前所有的客户、模板和表单。此操作无法撤销。”
恢复这个动作,是给新设备或者被清空的设备用的,或者用来把一台设备退回到某个已知的状态。它不是用来把两台各自都在收表单的 iPad 合并到一起的办法。要是你把周一做的备份,恢复到一台这一整周都在签表单的设备上,这一周的工作就没了。
就算恢复中途出了问题,也不会把你晾在半当中。应用会先检查压缩包本身有没有问题,然后把新的 PDF 拷贝进去,这一步很安全,因为文件名不会跟设备上已有的撞在一起。最后才是一次性把记录换过去。只要在这一步之前出了任何差错,刚拷贝进去的文件会被清掉,设备上原来的数据丝毫不受影响。不会出现恢复到一半的中间状态。
恢复也可能带着警告完成,而不是直接失败。最常见的情况,是某个 PDF 的内容跟压缩包里记录的对不上,通常是传输过程中文件损坏了。这时应用会告诉你是哪个文件出了问题,剩下的部分照常恢复完。要是因为一个文件有问题,就把整份恢复全部拒掉,反而更糟。
备份文件该放在哪儿
备份如果只留在 iPad 上,就称不上备份。分享面板打开之后,挑一个就算设备丢了、文件也还在的去处:iCloud 云盘、电脑上的某个文件夹、外接硬盘,或者用隔空投送发到诊所或工作室里的第二台设备上。
备份里装的是你全部的客户数据。既然你把所有东西都留在设备上,为的就是不让客户信息躺在别人的服务器里,那备份存到哪儿,也得守住同一条原则。你自己管着的电脑,或者一块加密的外接硬盘,符合这条原则,随手找个云盘文件夹就不一定了。它是一个文件,不是一套同步机制,每次存到哪儿,都是你自己说了算。
养成两个习惯。恢复一份备份之前,先给当前设备做一份备份,这样你离开的这个状态还能找回来。另外,只要哪次坐下来专门调整过模板,事后就做一份备份,因为把字段在表单上重新摆一遍,是最费时间的返工。

备份与恢复是 Pro 版功能。
一句话总结
在“设置”里创建一份备份,你得到的是一个文件,里面装着每一位客户、每一个模板、每一份签好的表单,连同对应的 PDF 和附件。它存的是数据记录本身,不是数据库文件,所以应用更新之后,老备份照样能恢复。恢复这个动作会替换设备上现有的一切,而且在开始之前就把这一点讲清楚,所以它是给新设备或者被清空的设备用的,不是用来合并两台设备数据的办法。备份文件要存在一个就算丢了设备也还在的地方,而且这个地方也得是你愿意放客户数据的地方。
InPersonForms 已在 App Store 上架,支持 iPhone 和 iPad。