2

我有一个图书馆风格的 iCloud + Core Data 设置。我正在开发的应用程序包含位于登录屏幕后面的用户数据。用户登录后,持久存储协调器被实例化,iCloud 存储被添加到其中。

这是我的用例和问题:

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

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

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

任何建议将被认真考虑!谢谢。

4

1 回答 1

1

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

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

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

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

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

于 2012-04-24T20:08:56.660 回答