gpt4 book ai didi

ios - 在 iPhone 外部保存数据

转载 作者:行者123 更新时间:2023-11-28 21:17:53 25 4
gpt4 key购买 nike

我制作了一个包含核心数据的应用程序。但现在,我想,如果用户丢失或更换了他们的设备怎么办。假设他们买了一个新应用并重新安装了该应用。

什么是最好和最简单的方法来获取我之前存储在核心数据中的旧设备中的数据。

请问您对此有何看法?

最佳答案

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

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

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

对于多个设备同时共享相同的数据,有CloudKit:https://developer.apple.com/icloud/ .但是,我不知道这是否适用于 CoreData(我怀疑不是)。 (请注意,CoreData 自己的 iCloud 同步在 iOS 10 中已弃用。)

(更新:CoreData 现在与 CloudKit 配合得很好。)

还有 3rd 方替代品,例如 Realm: https://realm.io/ . Realm 受到很多开发人员的强烈推荐,并且是跨平台的。但它是 CoreData 的替代品,而不是与其兼容(所以不是你所要求的)。对于设备之间的数据同步,Realm 会要求您在 Mac OS X 或 Linux 机器上设置自己的数据同步服务器(“Realm Mobile Platform”),所有用户的设备都需要能够通过以下方式访问随时上网。

或者,您可以推出自己的解决方案,但为什么要这样做呢?

关于ios - 在 iPhone 外部保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40878563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com