【问题标题】:iCloud notification when app switch from local to remote storage应用程序从本地存储切换到远程存储时的 iCloud 通知
【发布时间】:2013-12-18 12:34:48
【问题描述】:

我正在基于核心数据的应用程序中实现 iCloud 支持。它运行良好,但我注意到在您首次运行该应用的设备上出现了奇怪的行为。

我在设备 A 上运行应用程序并添加一些条目。从我看到的调试中,我在设备 B 中安装了应用程序:

2013-12-02 18:25:39.626 My App[256:3707] -[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:](754): CoreData: Ubiquity:  mobile~XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:myawesomeapp
Using local storage: 1

大约一分钟后:

2013-12-02 18:26:26.234 My App[256:1803] -[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:](754): CoreData: Ubiquity:  mobibile~XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:myawesomeapp
Using local storage: 0

我的所有条目都出现在设备 B 中

在此期间,应用没有响应。没有崩溃,但我可以触摸任何地方,但应用程序没有响应。在存储切换和所有数据出现后,应用程序可以正常运行。

现在的问题是:有一种方法可以对用户说“等等,我正在检查 iCloud 并检索数据”

而且,我注意到只有当我在 iOS7 设备上运行应用程序时才会显示上述调试消息。如果我在 iOS 6.x 上运行它,我不知道发生了什么。

谢谢, 最大

【问题讨论】:

    标签: ios iphone ipad core-data icloud


    【解决方案1】:

    查看WWDC 2013 Video Session about Core Data(需要开发者帐户)。从第 7 分钟左右开始,这在那儿得到了很好的解释。

    它明确统计,第一次获取 iCloud 数据是同步的,所以你必须确保在单独的非 UI 线程中调用它。在 iOS 7 中,这应该是自动异步的。

    如果为 iOS 7 重构以利用新的更简单的 API,这可能是最佳选择。您可以在代码中设置一个开关,并根据设备运行的操作系统使用这两种方法。

    消息Using local storage: 0/1 在第 6 分钟左右解释。

    【讨论】:

      猜你喜欢
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多