CoreData和iCloud

我正在开发一个核心数据应用程序,并且正在考虑添加iCloud支持,但是在networking上浏览之后,我经常听说iCloud + CoreData是不可靠的,经常会中断。

这是真的? 我正在阅读的关于核心数据主题的一本书提到iCloud + CoreData在iOS 5中不可靠,但已经得到修复,但是我也听到相反的观点,iCloud + CoreData在iOS 6中依然不可靠。如果是这样自定义格式的数据库有帮助吗?

任何帮助将不胜感激。

现在iOS 7已经发布了,我们可以谈谈它。 一切似乎表明,在iOS 7 iCloud核心数据同步已被修复。 我正在将iCloud Core Data同步添加到我正在创build的(仅适用于iOS 7的)应用程序中,所以我还不能从个人经验中进行说明,但是我所听到的一切都表明,现在对于黄金时段来说已经很好了。

我强烈build议您观看WWDC 2013的“核心数据和iCloud新增function”会话video: https : //developer.apple.com/videos/wwdc/2013/? id = 207 (需要Apple开发者计划成员资格)。 我现在看了两次,他们肯定让事情变得更直接。

最后,我build议看看GitHub上的UbiquityStoreManager 。 这是一个图书馆,几乎为你做所有的iCloud核心数据的痛苦的部分。 它已被修改,以考虑到iOS 7的重大改进,但如果你想利用它们,你的应用程序只能是iOS 7(不pipe你是否使用库)。

更新:自从发布这个答案以来,我现在可以从个人经验中发言,并且可以确认iOS 7中的Core Data iCloud Sync是坚如磐石的,更令人难以置信的是易于实现。 我把它添加到我的应用程序,而不使用UbiquityStoreManager或任何其他第三方库,这是非常简单的。 字面上只有几行代码。

编辑:我创build了一个与我的iCloud核心数据堆栈iOS 7的GitHub回购。希望它有助于: https : //github.com/mluisbrown/iCloudCoreDataStack

video链接已更改: https : //developer.apple.com/videos/wwdc/2013/?id = 207

编辑:这应该是对最后一个答案的评论,但我没有所需的50+声誉:(

我有一个基于@ mluisbrown的iCloudCoreDataStack的Swift版本,有一些Xcode生成的代码和Apple技术支持,在https://github.com/hyouuu/iCloudCoreData-Swift

我可能已经犯了明显的错误 – 请帮助改善!