Ios 针对CoreData的iCloud备份-按需?

Ios 针对CoreData的iCloud备份-按需?,ios,core-data,icloud,Ios,Core Data,Icloud,如果我的目标是创建一个云备份,用户可以在意外删除我的应用程序或错误导致数据丢失(无需跨设备共享数据)时恢复该备份,那么每天备份用户CoreData的最简单选项是什么? (注意:偶尔的完整iPhone备份是不够的) 当我读到CloudKit时,我看到了如下内容: 您可能想知道为什么您应该选择CloudKit而不是核心数据、其他商业BAA(后端即服务)产品,甚至是滚动您自己的服务器 但这是一个问题,因为我想继续使用CoreData!我不希望用户依赖云来获取数据。我不希望出现同步问题、在线/离线问题等

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

当我读到CloudKit时,我看到了如下内容:

您可能想知道为什么您应该选择CloudKit而不是核心数据、其他商业BAA(后端即服务)产品,甚至是滚动您自己的服务器

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

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

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

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


虽然代码答案很好,但只要对这类功能使用什么API/设计模式给出一个一般性的答案就足够了

是的,您可以在使用CoreData的同时使用CloudKit来实现这一点,它确实避免了许多其他云替代方案的登录和成本开销

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


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

是的,您可以在使用CoreData的同时使用CloudKit来实现这一点,它确实避免了许多其他云替代方案的登录和成本开销

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


您确定仅靠正常的iOS备份功能是不够的吗?

很抱歉回复太慢,谢谢您的回复。我的用户似乎想要一个备份选项。我的数据很简单,包括字符串、整数和日期。没有关系数据库设置。这是否足够简单,可以以一种干净的方式完成这项工作,或者我仍然会发现它最终会变得一团糟?是的,我认为CloudKit可以合理地解决这一问题,而无需付出过多的努力。我认为你保持简单的本能是正确的,因为完整的多设备数据同步有很多边缘情况需要捕捉-但请确保你的应用程序有适当的检查,并且你的用户知道限制-例如,如果他们确实从另一个设备访问备份,会发生什么?很抱歉回复太慢,谢谢回答。我的用户似乎想要一个备份选项。我的数据很简单,包括字符串、整数和日期。没有关系数据库设置。这是否足够简单,可以以一种干净的方式完成这项工作,或者我仍然会发现它最终会变得一团糟?是的,我认为CloudKit可以合理地解决这一问题,而无需付出过多的努力。我认为您保持简单的本能是正确的,因为完整的多设备数据同步有很多边缘情况需要处理,但请确保您的应用程序有适当的检查,并且您的用户知道限制,例如,如果他们确实从另一个设备访问备份,会发生什么?