如何备份与Core Data一起存储的数据 - iPhone应用程序?

时间:2010-05-05 04:33:21

标签: iphone objective-c cocoa-touch core-data

我正在使用sqlite作为持久存储,所以我可以将.sqlite文件上传到例如Amazon S3,以便为用户提供备份其应用数据的能力吗? 然后进行恢复只需将其下载并替换应用程序文件夹中现有的.sqlite文件。

有人看到有任何问题吗?有人做过吗?关于如何实现数据备份功能的任何其他建议?

1 个答案:

答案 0 :(得分:3)

是的,可以上传SQLite文件;它只是一个文件,可以像任何文件一样备份。

一般来说,这种方法可能有点不灵活:处理.sqlite文件中的数据是一种全有或全无的方法。

如果您想提供更精细的备份,您可能需要考虑一种解决方案,用于将手机数据库中的记录与存储在其他位置的记录同步。即,读取您要备份的所有对象,将它们转换为JSON / XML /,然后将它们上传到服务器,然后将服务器添加到自己的数据库中。

您将导出,发送到服务器并将服务器导入其自己的数据库的原因是,这将允许您执行更精细的编辑 - 即仅同步自上次同步以来已更改的条目。然而,由于您需要控制服务器上运行的软件并且还有代码将CoreData对象序列化为传输格式,因此需要做更多的工作。