iCloud数据备份和恢复策略

时间:2015-10-19 02:30:07

标签: ios save archive restore

不知道这类问题是否合适,但无论如何我都会问。

我有一个iOS iCloud核心数据应用程序运行良好(虽然我认为它确实需要一些同步调整)并且我正在考虑允许用户将数据库的副本保存到UIDocument中的iCloud驱动器。这将允许用户手动分割数据库并仅加载他们当前想要使用的部分,并考虑到数据可能包含一些保险索赔数据,从而让您高枕无忧。

我正在加权几种替代方案以实现这一目标。

选项1只是创建一个基于iOS的保存和恢复过程,当触发时,它会将数据库(可能是最多1000个对象)转储到NSDrray的NSD阵列对象(每行一个字典)中,然后将NSArray JSONize为NSData并将其保存在iCloud驱动器上的新UIDocument中。还原过程将列出要还原的可能存档,然后允许用户选择一个存档。恢复过程将执行与保存过程相反的操作。

选项2是创建Mac App来处理保存/恢复过程,这将允许用户将档案保存在用户的Mac上。虽然它需要一组协同工作,但这似乎要困难得多。该机制与选项1类似,但数据将转到标准Mac文件系统选择屏幕中指定的文件。

就我个人而言,我想要做到这两点,但在开始之前,我想确保将整个SQL数据库转储到NSDrray的NSDrray中并不是一种简单的方法。

一个复杂因素是数据库包含数据库中作为NSData的图像。我可以对NSData进行字符串化,将其添加到NSDictionary构建中,然后让JSON进程执行它。

我很高兴以这种方式进行,但我想确保我没有忽略某种类型的Apple方法,这样做更容易。

我想到的另一个想法是使用某种SQLite实用程序在一个会话中进行本地保存和恢复,然后通过iCloud在所有设备上复制结果。再一次,听起来像是Mac的回答,但我真的不知道。

同样,任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

iCloud支持同步CoreData数据库。有关更多信息,请参阅this article

此外,您可能会考虑使用CloudKit直接在iCloud中存储此数据,因此可以在多个设备上访问它。