2012-04-11 165 views
2

我有一个库式iCloud +核心数据设置。我正在处理的应用程序包含位于登录屏幕后面的用户数据。用户登录后,实例化Persistent Store Coordinator,并将iCloud存储添加到其中。处理iCloud核心数据错误

这里是我的使用情况和问题:

1)开始使用应用程序,数据被存储到iCloud 2)删除应用程序 3)重新生成到设备,登录到应用程序,预计交易日志被召回并在本地商店中重新创建数据。 4)当使用慢速连接时,我在调试日志中出现错误,多次指出文件下载失败... 5)该应用程序为空,现在看起来好像备份恢复失败。

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

有没有办法强制iCloud重试立即下载这些文件?是否有回拨,我可以使用它来确保这些文件已成功下载,然后才允许用户进入应用程序?

任何意见将不胜感激!谢谢。

回答

1

iCloud是一项仍处于初级阶段的技术,尤其是与Core Data的整合。

iCloud决定将内容推送到设备的时间间隔是不可预知的,不幸的是,目前没有办法迫使iCloud检索数据。在苹果开发者论坛的某处,它说,当iCloud内容无法下载时,它会稍后再试。

现在还没有可以立即使用的回调函数,您的应用程序将需要(如果可能)足够聪明以知道何时下载了正确的内容。根据您需要的内容数量,您可以通过查看通知中获得的数据来执行一些清单:NSPersistentStoreDidUpdateUbiquitousContentChangesNotification(如果有)以及检查userInfo字典是否包含插入(或更新,删除)的行。

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

这些只是一些建议,您的情况可能会有很大的不同。希望这至少有助于某种方式。