首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据保存在iPhone之外

将数据保存在iPhone之外
EN

Stack Overflow用户
提问于 2016-11-30 01:08:09
回答 3查看 163关注 0票数 1

我用核心数据制作了一个应用程序。但现在,我想,如果用户丢失或替换他们的设备怎么办?让我们假设他们得到了一个新的,并恢复应用程序。

获得我之前拥有的数据的最好和简单的方法是将数据存储在他的旧设备中的核心数据中。

你能说说你的想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-30 04:00:23

对于单个设备和任何替换设备(如果损坏或丢失),只需备份到iTunes或iCloud就足够了。然后,如果/在必要时,可以从该备份恢复。这适用于任何应用程序数据,而不仅仅是CoreData。

您的应用程序还可以包括将CoreData持久存储文件复制到其他地方,然后从其他地方加载它的功能。这通常只是一个SQLite数据库文件,很容易在设备之间进行复制。将其复制到“文档”目录,然后通过iTunes获取它,或者发送电子邮件。然后,您可以从某个地方读取它,并将其写入持久存储文件位置(而CoreData不使用它)。这种方法只对独立于iCloud/iTunes上的整个设备备份的应用程序的数据进行实时备份是有用的。它还允许用户将其整个应用程序数据集发送给其他用户(如果有任何用处的话),或者将应用程序数据恢复到某个时间点,而不必恢复整个设备,包括所有其他应用程序。

所以我希望这能回答你最初的问题。对于您在评论中的后续查询..。

为了让多个设备同时共享相同的数据,有CloudKit:https://developer.apple.com/icloud/。但是,我不知道CoreData是否能正常工作(我怀疑不是这样)。(请注意,CoreData自己的iCloud同步在iOS 10中是不推荐的。)

(更新: CoreData现在在CloudKit上运行得很好。)

还有第三方的替代方案,如领域:https://realm.io/。领域受到许多开发人员的强烈推荐,并且是跨平台的。但是它是CoreData的另一种选择,而不是与它兼容(所以不完全符合您的要求)。对于设备之间的数据同步,王国将要求您在Mac OS X或Linux机器上设置自己的数据同步服务器(“王国移动平台”),所有用户的设备都需要在任何时候通过互联网访问。

或者,你可以使用自己的解决方案,但你为什么要这么做呢?

票数 2
EN

Stack Overflow用户

发布于 2016-11-30 06:10:50

一个非常简单的方法是使用iCloud API并将所有数据存储在iCloud存储上。对于这类应用程序来说,它是非常安全和安全的。

票数 1
EN

Stack Overflow用户

发布于 2016-11-30 03:59:40

这就是iCloud的作用。正如罗曼底在他的评论中所说,你可以将你的核心数据数据库备份到iCloud。我还没做过,但我读到过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40878563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档