iCloud通过WIFI,可以自动备份用户设备里的数据。除了程序本身、cache目录,和temp目录外,其它的数据都会备份。购买的音乐,app,电子书,相片,设备设置,主界面,app组织,信息和铃声都会被备份。因为备份是通过无线存储在用户iCloud帐户中,而iCloud帐户的存储空间有限,所以最好将你app需要备份的数据减少到最小。大文件需要花费更长的时间去备份,同时会消耗更多用户的iCloud用户剩余的存储空间。
为保证备份的效率,要确保我们开发的app遵循一下原则
1.只有用户产生的或者应用程序无法重建的文件或者其它数据,才能被存储在<Application_Home>/Documents目录中,Documents中的文件会自动 到iCloud中
2.能够重新下载或者重新生成的文件应该存在
<Application_Home>/Library/Caches 目录。例如,你应该将数据库缓存文件,杂志、新闻、或地图应用等可下载的内容放在该目录中
3.暂时使用的数据应该存储在
<Application_Home>/tmp目录中。尽管这些文件不会被备份到iCloud中,也要在使用完它们后将其删除以不再占用用户设备的可用存储空间
4.用"do not back up"属性标记那些需要存在设备中的文件,即使文件很小,也需要添加"do not back up"属性。这个属性标记那些能够重新创建但是需要永久存储的数据,使app能够维持正常功能,或者客户需要在离线状态下使用的数据。这个属性能够让系统忽略它们到底在那个目录,即使它们在Documents目录中。这些文件不会被清楚,也不会被备份到iCloud或者iTunes中。因为这些文件占据设备的存储空间,因此app需要负责定期操作处理这些文件。