【发布时间】: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