我如何通过使用iCloud备份我的app文档目录,这样用户可以切换iCloud帐户并获取与特定帐户相关的应用数据。我的文档目录包含sqlite数据库文件和图像。
我刚刚读了iOS Data Storage Guidelines
,
为了确保备份尽可能高效,请按照以下指导原则存储应用程序的数据:
只有用户生成的文档和其他数据,或者不能由你的应用程序重新创建的,应该存储在
Application_Home/Documents
目录下,并将被iCloud自动备份。可以再次下载或再生的数据应保存在
Application_Home/Library/Caches
目录下。文件示例您应该在缓存目录中包含数据库缓存文件还有可下载的内容,比如杂志、报纸、临时使用的数据保存在
Application_Home/tmp
目录下。虽然这些文件没有备份直到iCloud,记得在你用完后删除这些文件,这样它们就不会继续占用用户的设备。使用"
do not back up
"属性来指定应该保留在设备上的文件,即使在低存储情况下。使用此属性使用可以重新创建但即使在低温度下也需要持久化的数据应用程序正常运行的存储环境客户希望它在离线使用期间可用。这个属性在标记的文件上工作,不管它们在什么目录中。包括Documents目录。这些文件不会被清除不会包含在用户的iCloud或iTunes备份中。因为这些文件使用设备上的存储空间,你的应用负责
根据指南,iCloud将自动备份Application_Home/Documents
。
参考资料和有用链接
- https://developer.apple.com/icloud/documentation/data-storage/index.html https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/BestPractices/BestPractices.html
- https://developer.apple.com/icloud/