我正在处理UIManagedDocument的轻量级包装,它管理一个人的iCloud帐户中存在多个文档。请参阅:APManagedDocument正确使用iCloud备用存储
我非常依赖在iOS 7中使用备用商店,并尽可能少地关注iCloud的当前状态。因此,让核心数据做基于从WWDC 2013的视频我的理解它最擅长的关于回退店 - 会话207 What’s New in Core Data and iCloud
首先我的经理是如何工作的简要概述: 我创造一切我UIManagedDocuments
在当地沙箱并设置适当的持久存储选项以启用iCloud同步。我从不移动沙箱中的UIManagedDocument
软件包。
- 当我想知道云中存在哪些文档时,我执行元数据查询。
- 当我想打开其中一个文档时,我会先检查它是否存在于本地沙箱中,如果不是在本地沙箱中创建它。 (这需要应用程序需要等待对应于
Using local storage: 0
消息的通知)。 - 使用此设置,我永远不需要知道iCloud是启用还是登录。我只是在本地工作,让核心数据执行其与iCloud的事情。
到目前为止,一切是伟大的工作,但我遇到了与使用者之前登录到iCloud中创建一个新文档的情况有点咸菜,我提出下列问题:
- 我由于没有iCloud进行查询,因此无法执行元数据查询。
- 由于1,我不得不退回到做一个智能本地扫描,寻找在其路径中具有“local/store/persistentStore”的软件包,并将其列为有效文档。
- 后来当用户登录时,我的理解是核心数据会将本地存储数据移到云端,但我没有看到。我所看到的是,为iCloud帐户创建了一个新的持久性存储,并且没有数据。
我的一个大问题是当涉及到本地回退存储时,什么是正确的方法?我的假设错在哪里?
这是我需要发布我的iOS 7更新的最终作品之一。任何和所有的反馈将不胜感激,并将反映在我的github项目中,以便其他人可以从我的错误中学习。
我在Apple开发者论坛中有这个问题的重复。我会更新这个线程,并从那里得到任何发现。我认为这个问题很重要,并且iOS 7的发布仍然没有解决。后备商店在iCloud技术上是一个巨大的进步,但本地存储部分仍然有点不明确。
我已经打开与苹果支持票,希望能够解决这个问题。 – dtrotzjr
@dtrotzr ....支持票的任何更新?我也有同样的问题.... – Max
@Max看到我的答案在下面。苹果终于回到了我的身边,但我对这个答案并不感到兴奋,我觉得这位工程师没有花时间来充分理解我的答案,或者我在回退商店中做了所有的事情。 – dtrotzjr