在不同步的情况下在 iCloud 上备份文档目录

Backup document directory on iCloud without sync

我如何使用 iCloud 实际备份我的应用程序文档目录,以便用户可以切换 iCloud 帐户并获取与该特定帐户相关的应用程序数据。 我的文档目录包含 sqlite 数据库文件和图像。

我刚刚阅读了 iOS Data Storage Guidelines

To ensure that backups are as efficient as possible, store your app’s data according to the following guidelines:

  1. Only documents and other data that is user-generated, or that cannot otherwise be recreated by your application, should be stored in the Application_Home/Documents directory and will be automatically backed up by iCloud.

  2. Data that can be downloaded again or regenerated should be stored in the Application_Home/Library/Caches directory. Examples of files you should put in the Caches directory include database cache files and downloadable content, such as that used by magazine, newspaper, and map applications.

  3. Data that is used only temporarily should be stored in the Application_Home/tmp directory. Although these files are not backed up to iCloud, remember to delete those files when you are done with them so that they do not continue to consume space on the user’s device.

  4. Use the "do not back up" attribute for specifying files that should remain on device, even in low storage situations. Use this attribute with data that can be recreated but needs to persist even in low storage situations for proper functioning of your app or because customers expect it to be available during offline use. This attribute works on marked files regardless of what directory they are in, including the Documents directory. These files will not be purged and will not be included in the user's iCloud or iTunes backup. Because these files do use on-device storage space, your app is responsible for monitoring and purging these files periodically.

根据指南,Application_Home/Documents 将由 iCloud 自动备份。

参考和有用链接

  1. https://developer.apple.com/icloud/documentation/data-storage/index.html
  2. https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/BestPractices/BestPractices.html

  3. https://developer.apple.com/icloud/