BIO*_*S-K 8 synchronization core-data icloud cloudkit ensembles
几年前,Apple发布了Core Data应用程序的iCloud同步.然后我使用新的Apple机制发布了一个带有共享模型的iPad/iPhone/MAC应用程序.事情没有像预期的那样发生.同步机制有时不起作用.例如,在我的情况下,最近几个月很少通过我的3台设备完成同步.一般上传对象工作正常.但新的或删除的对象的下载过程正常崩溃.Apple前段时间发布了一种方法来强制设备重新下载模型的所有对象(NSPersistentStoreRebuildFromUbiquitousContentOption),这些对象正常工作,但这不是一个可接受的解决方案.
我的问题:是否有人完成了让iCloud + Core Data正常工作?如何在iOS 9 + El capitan下运行iCloud + CD,有什么经验吗?
我正在评估迁移到新的CloudKIT API,但我不喜欢在设备离线时自我管理对象上传的想法.指示模型更改的推送通知的新机制是否正常工作?
谢谢
这是我在过去几个月里深入研究的一个问题,我担心没有明确的答案.
以下是我从经验中可以告诉你的内容:
如果你像我一样,不想重新开始使用CloudKit,它可靠地工作,但需要你手动处理大部分的同步工作和CKRecords到ManagedObjects的转换,给Ensembles.io一个机会:它工作得非常好我,Core Data和iCloud之间的层确实在我的情况下工作,CD + iCloud没有.我正在使用1.0版本,它是开源的,支持iCloud作为其可能的后端之一(和版本2.0,付费,支持甚至更多); 在几天内,我得到了可靠的自动重复数据删除同步(你必须提供一个uniqueIdentifier属性才能让它工作,但我已经有了一些东西......).我还没想到的唯一一个问题:有时候(10个中有1个案例,我会说)一个对象在编辑或删除时不会立即同步,但是当添加另一个对象时它总是在另一个设备上,编辑或删除:当这些延迟发生时,没有任何东西丢失,一切都已"自动"处理,但我仍然希望一切都能立即同步.Ensembles还有一个很好的调试日志,你会欣赏来自vanilla CD + iCloud的东西.如果你想尝试一下,你应该看看这些资源:
如果你完全确定你不想在Core Data和iCloud之间使用层/第三方代码(我自己也这么认为,但是当我意识到我失去了三个月的生命并且得不到任何回报时我已经改变了主意) ,我在网上找到并看起来更有前景的Core Data + iCloud的实现是:
我没有尝试过最后两个解决方案,因为我的最后攻击计划是尝试Ensembles,如果它对我不起作用,那就采用这些方法.因为Ensembles对我来说非常好,所以我不需要尝试它们,但它们看起来很稳固.
最后一个想法困扰我:在2015年的WWDC会议中,没有提到Core Data + iCloud.对我来说,这对于我们选择的同步解决方案来说是毁灭性的.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
2675 次 |
| 最近记录: |