是否由iCloud自动备份文档目录中的Core Data sqlite数据库?

时间:2014-05-04 12:49:22

标签: ios iphone objective-c core-data icloud

我正在开发一个项目,该项目需要以某种方式备份Core Data数据库,以便在用户删除并重新下载应用程序时数据不会丢失。

在iOS存储指南中说明:

  

只有用户生成的文档和其他数据,或者应用程序无法重新创建的数据应存储在/ Documents目录中,并且将由iCloud自动备份。

我想知道是否意味着如果我将我的Core Data sqlite数据库放在/ Documents目录中,它将由iCloud自动备份?

如果没有,是否有任何简单的解决方案来备份Core Data数据库?我只需要在删除并重新安装应用程序后可以恢复数据库。设备之间的同步不是我的目标。

1 个答案:

答案 0 :(得分:3)

是的,将您的数据库放在Documents目录中将完全符合您的要求:允许备份到iCloud而不同步到iCloud。

同步需要转移到普遍容器,但这不是你想要的。

更多信息可在Apple技术说明中找到,该说明解释了how to exclude a file from backup。当然,要使备份正常工作,用户必须将其设备设置为备份到iCloud。

编辑:这是另一个有用的链接:Apple的App Backup Best Practices section of the iOS App Programming Guide