【问题标题】:iCloud Backup for CoreData - On Demand?CoreData 的 iCloud 备份 - 按需?
【发布时间】:2017-05-15 23:47:01
【问题描述】:

如果我的目标是创建一个用户可以在意外删除我的应用或错误导致数据丢失(无需跨设备共享数据)时恢复的云备份,那么每天备份用户 CoreData 的最简单选择是什么? (注意:偶尔完整的 iPhone 备份是不够的)

当我阅读有关 CloudKit 时,我看到了以下内容:

您可能想知道为什么要选择 CloudKit 而不是 Core Data、其他商业 BaaS(后端即服务)产品,甚至是滚动您自己的服务器...

但这是个问题,因为我想继续使用 CoreData!我不希望用户依赖云来获取数据。我不想要同步问题、在线/离线问题等。

我还想避免让用户登录或创建帐户。根据 Ray Wenderlich 的说法:

由于 CloudKit 使用设置设备时输入的 iCloud 凭据(或通过设置应用程序设置后输入),因此无需构建复杂的登录屏幕。

我看到一些应用程序使用 Facebook 登录,但我什至想避免这种情况!那么我是否可以使用 CloudKit 来避免登录屏幕但仍然使用 CoreData?

虽然代码答案很棒,但只需对用于此类功能的 API/设计模式的一般答案进行回答就足够了。

【问题讨论】:

    标签: ios core-data icloud


    【解决方案1】:

    是的,您可以同时使用 CloudKit 和 CoreData 来执行此操作,它确实避免了许多其他云替代方案的登录和成本开销。

    但是,由于这两个数据模型不相关,如果您的数据很复杂,则无论何时用户选择备份或恢复,都需要在它们之间进行大量代码转换。

    您确定仅依靠普通的 iOS 备份功能还不够吗?

    【讨论】:

    • 抱歉回复缓慢,感谢您的回答。我的用户似乎想要一个备份选项。我的数据很简单,有字符串、整数和日期。没有关系数据库设置。是否足够简单以干净的方式完成此操作,还是我仍然会发现它最终会变得一团糟?
    • 是的,我认为 CloudKit 可以合理地适应这一点,而无需过多的努力。我认为你保持简单的直觉是正确的,因为完整的多设备数据同步有很多边缘情况需要捕捉 - 但要确保你的应用程序有适当的检查并且你的用户知道限制 - 例如。如果他们确实从另一台设备访问备份会发生什么?
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 2013-02-03
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2012-05-05
    • 2014-08-29
    • 1970-01-01
    相关资源
    最近更新 更多