我正在开发一个项目,该项目需要以某种方式备份Core Data数据库,以便在用户删除并重新下载应用程序时数据不会丢失。
在iOS存储指南中说明:
只有用户生成的文档和其他数据,或者应用程序无法重新创建的数据应存储在/ Documents目录中,并且将由iCloud自动备份。
我想知道是否意味着如果我将我的Core Data sqlite数据库放在/ Documents目录中,它将由iCloud自动备份?
如果没有,是否有任何简单的解决方案来备份Core Data数据库?我只需要在删除并重新安装应用程序后可以恢复数据库。设备之间的同步不是我的目标。
答案 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。