通过手机恢复保存我的应用数据 - iOS Swift

时间:2017-06-13 17:49:13

标签: ios swift core-data icloud

我可以使用哪种技术来保存应用数据(核心数据),以便当用户切换手机并拥有新手机时,他们仍然拥有我的应用信息?

我听过人们说cloudKit,但这看起来有些过分,我不希望功能在设备之间进行切换。我只想在用户为应用启用iCloud备份时备份应用数据。

如果答案是iCloud,我必须遵循哪些步骤来启用此类行为?我已经看到了cloudKit教程的链接,但是所有这些教程都涵盖了大量的材料和工作,而我想要实现的内容似乎很简单。 (如前所述,我不想在设备之间进行切换,我不需要它。)。

感谢您的建议

编辑:我已经进入“功能”并开启了iCloud。现在,在iCloud备份下的iPhone设置中,我的应用程序出现了。但是,只需打开iCloud功能,您的应用数据就会持久存储到iCloud Drive或备份吗?

例如:转到设置 - >帐户 - > iCloud - >向下滚动到iCloud Drive并确保已选中。我的应用程序显示在那里,但我没有包含任何代码来实现它(我只是简单地翻转了功能中的开关)

因此,根据我目前的理解,我正常创建Core Data,但是我添加了一个监听器来更改/更新/删除/创建persistentStore,并在发生这种情况时通过文档存储上传/更新iCloud?我的印象是iCloud正在折旧,只剩下cloudKit?

编辑3:

iCloud =已弃用,因此唯一可用的解决方案是cloudKit。

如何实现cloudKit与Core Data正确交互?

我想到的是以下内容: - 启用cloudKit

  • 收听持久存储的所有更改并在CloudKit中反映这些更改(不知何故)

  • 在应用开始时检查CloudKit是否与核心数据匹配(不知何故)

  • 如果它们不相同则下载cloudKit数据并保存到核心数据(不知何故)

请澄清这是不是正确的路线

1 个答案:

答案 0 :(得分:2)

  

我可以使用哪种技术来保存应用数据(核心数据),以便当用户切换手机并拥有新手机时,他们仍然拥有我的应用信息?

没有任何此类问题。我已经多次升级设备,没有任何东西丢失过。当我去年买了一部新iPhone,今年我买了一台新iPad时,新设备上的所有应用程序都显示出与旧设备上相同的设置和数据。

这是因为获取新设备的用户从旧设备备份并恢复到新设备。这就是我一直以来所做的,而且它才有效。你不能可靠地解决一个太愚蠢而不知道这样做的用户,所以我建议你不要考虑它。