iphone - 如何备份使用 Core Data - iPhone 应用程序存储的数据?

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

我将 sqlite 用于持久存储,那么我是否可以只将 .sqlite 文件上传到 Amazon S3 等,以此为用户提供备份其应用程序数据的能力? 然后要恢复,只需将其下载回来并替换应用文件夹中现有的 .sqlite 文件即可。

有人认为这有什么问题吗?有人做过吗?关于如何实现数据备份功能还有其他建议吗?

最佳答案

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

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

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

之所以要导出、发送到服务器并让服务器导入到它自己的数据库中,是因为这将允许您执行更细粒度的编辑——即仅同步自上次同步以来更改的条目。然而,这需要做更多的工作,因为您需要控制在服务器上运行的软件,并且还需要代码将您的 CoreData 对象序列化为传输格式。

关于iphone - 如何备份使用 Core Data - iPhone 应用程序存储的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2770637/

相关文章:

ios - 无法解析 RFC822 日期

iphone - Facebook-ios-sdk 对话框立即消失

iphone - NSPredicate by NSManagedObject 用于多对一查找

ios - iOS 水平居中约束

ios - 游戏场景不显示

iphone - 我如何拖动按钮?

iphone - 测试从笔记本电脑拔出的应用程序?

iphone - Expedia 应用程序类型可滚动的 TableView 或 Collection View

ios - 执行同步操作

iphone - 旋转后重新定位UIWindow