【问题标题】:Save my app data through phone restore - iOS Swift通过手机恢复保存我的应用数据 - iOS Swift
【发布时间】:2017-11-15 15:13:14
【问题描述】:

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

我听说有人说 cloudKit,但这似乎有点过头了,我不希望在设备之间切换功能。我只是希望在用户为应用启用 iCloud 备份时备份应用数据。

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

感谢您的建议

编辑:我已经进入“功能”并打开了 iCloud。现在在 iCloud 备份下的我的 iPhone 设置中,我的应用程序出现了。然而,简单地打开 iCloud 功能是否会将您的应用数据保存到 iCloud Drive 或备份中?

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

因此,根据我目前的理解,我照常创建 Core Data,但是我添加了一个侦听器,用于更改/更新/删除/创建持久存储,并在发生这种情况时通过文档存储上传/更新 iCloud?我的印象是 iCloud 正在贬值,只有 cloudKit 会保留?

编辑 3:

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

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

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

  • 监听持久存储的所有更改并在 CloudKit 中反映这些更改(以某种方式)

  • 在应用启动时检查 CloudKit 是否与核心数据匹配(以某种方式)

  • 如果它们不相同,则下载 cloudKit 数据并保存到核心数据(以某种方式)

请说明这是否不是正确的下山路线

【问题讨论】:

  • developer.apple.com/library/content/documentation/… 讨论 iCloud 文档存储。您可以选择将您的 Sqlite 数据库(核心数据在 Sqlite 下面)存储在 iCloud 中。
  • 我明白了,所以作为 Sqlite 数据库的核心数据会使用 iCloud 文档存储?
  • 如果您已经拥有自己的服务器,您也可以通过这些方式实现
  • @TPN1994 确实,我知道这是一种解决方案,但是由于相关成本,我试图完全避免使用服务器。当苹果在某个地方免费提供解决方案时,为什么要支付月费?编辑:谢谢你的建议!
  • @Jerland2 Apple 没有免费的设备解决方案。当您的应用程序被删除时,与之相关的所有数据都会被清除。使用 iCloud 是 Apple 提供的免费解决方案。

标签: ios swift core-data icloud


【解决方案1】:

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

不存在这样的问题。我已经多次升级设备,并且没有丢失任何东西。去年我买了一部新 iPhone,今年又买了一部新 iPad,我在新设备上的所有应用程序都只是显示了与旧设备上相同的设置和数据。

这是因为获得新设备的用户会从旧设备备份并恢复到新设备。这就是我一直在做的事情,而且效果很好。你无法可靠地解决一个愚蠢到不知道这样做的用户,所以我建议你不要考虑它。

【讨论】:

  • 有趣,所以我什至不需要使用 CloudKit 来让我的应用程序备份到 Icloud?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2017-02-27
  • 2016-12-15
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多