处理 iCloud Core Data 错误

Posted

技术标签:

【中文标题】处理 iCloud Core Data 错误【英文标题】:Handling iCloud Core Data errors 【发布时间】:2012-04-11 06:41:47 【问题描述】:

我有一个库风格的 iCloud + Core Data 设置。我正在开发的应用程序包含位于登录屏幕后面的用户数据。用户登录后,Persistent Store Coordinator 被实例化,iCloud 存储被添加到其中。

这是我的用例和问题:

1) 开始使用应用程序,数据正在存储到 iCloud 2) 删除应用 3)再次构建到设备,登录到应用程序,期望事务日志被调用并在本地存储中重新创建数据。 4)当使用慢速连接时,我在调试日志中收到错误,多次指出文件下载失败... 5) 应用程序是空的,现在看起来好像备份恢复失败了。

我的配置确实正确,并且通过下降连接 100% 工作。

有没有办法强制 iCloud 立即重试下载这些文件?在允许用户进入应用之前,我可以使用回调来确保这些文件已成功下载吗?

任何建议将不胜感激!谢谢。

【问题讨论】:

【参考方案1】:

iCloud 是一项仍处于起步阶段的技术,尤其是与 Core Data 的集成。

iCloud 决定将内容推送到设备的时间间隔是不可预测的,不幸的是,目前无法强制 iCloud 检索数据。在苹果开发者论坛的某个地方,它说当 iCloud 内容下载失败时,它会稍后再试。

您现在也无法使用回调,您的应用需要(如果可能)足够聪明,以便知道何时下载了正确的内容。根据您需要多少内容,您可以查看从通知中获得的数据:NSPersistentStoreDidUpdateUbiquitousContentChangesNotification(如果有),并检查 userInfo 字典中插入(或更新、删除)的行。

我已经能够在应用程序中做类似的事情,当你的情况发生时,为用户加载本地商店,然后将商店迁移到无处不在的商店。

这些只是一些建议,您的情况可能会有很大不同。希望这至少在某种程度上有所帮助。

【讨论】:

以上是关于处理 iCloud Core Data 错误的主要内容,如果未能解决你的问题,请参考以下文章

告知 iCloud 何时没有更多待处理的 Core Data 更新更改

iCloud、Core Data、迁移和模型映射

如果我使用 Core Data 手动迁移,我以后可以集成 iCloud 同步吗?

iOS Core Data iCloud 同步 - 可选

iCloud、Core Data 和副本以及如何播种初始数据?

将 Core Data 应用程序迁移到 iCloud