【问题标题】:iCloud Core Data Not available after running in Xcode 6 / ios 8 SDKiCloud Core Data 在 Xcode 6 / ios 8 SDK 中运行后不可用
【发布时间】:2014-09-13 00:57:30
【问题描述】:

我有一个使用 Core Data 和 iCloud 同步的应用程序。它在 iOS 7 中运行良好。

我在 XCode 6 中运行它后遇到了一些麻烦,即使在 iOS 7 设备上也是如此。这是我的测试:

  • 在 iOS 7 设备上:从应用商店下载当前实时应用
  • 从 iCloud 同步数据
  • 构建并运行新版本的应用
  • Persistent Stores 发生变化,原始数据不再可用

这是我的配置文件和 xcode 设置的屏幕截图:

我还尝试了以下权利:

  1. com.apple.developer.icloud-container-identifiers
  2. com.apple.developer.ubiquity-container-identifiers这是我以前的。当我使用它运行测试时,数据第一次在那里,但在第二次运行时没有。没有关于商店更改的事件,但它在第一次和第二次运行时显示Using local storage: 1
  3. 以上两者。得到与 #2 相同的结果

【问题讨论】:

  • 从 Apple 支持收到的任何更新/解决方案?我有同样的问题
  • Apple 曾表示,使用新模型运行临时构建将不起作用,但签名/应用商店版本将起作用。可怕!无论哪种方式都会报告。
  • 真的吗?我们如何测试它?我的试飞测试版似乎仍然存在问题。请让我发布你所看到的。谢谢。
  • 如果我是你,我会和苹果一起提高你自己的票,你不能乱搞这些东西,没有人能掌握他们所做的知识。您将获得 2 张使用您的应用商店会员资格的门票。在你形成我之前,你可能会从他们那里得到答案

标签: core-data icloud


【解决方案1】:

根据权利的屏幕截图,您似乎同时拥有旧的(普遍存在的容器)和新的(iCloud 容器)相关权利。我发现并看到了新旧权利同时存在的问题。

对于我的应用程序,我只保留了旧的权利,并删除了 XCode 6 将尝试添加的两个新权利,以解决它认为存在于 iCloud 中的问题。我删除的两个键是:

  • com.apple.developer.icloud-container-identifiers
  • com.apple.developer.icloud-services

我只保留了原始密钥 (com.apple.developer.ubiquity-container-identifiers) 并没有更改它的值。这样,当使用 XCode 6 GM 构建时,该应用程序仍然可以在 iOS 7 中运行,并且可以像以前一样访问所有数据。在 iOS 8 中它也可以工作,但它似乎要求用户将他们的帐户更新到 iCloud Drive。

【讨论】:

  • 感谢伊恩。不幸的是它不起作用:(我已经更新了问题
  • 如果您看到“使用本地存储:1”,那么这是有希望的。这意味着它至少连接到 iCloud。它是否曾经更改为“使用本地存储:0”?这是在设备上还是模拟器上?
  • 它在设备上。它显示 Using local storage: 1 在两次运行中,但在第二次运行时数据不可用。
  • 如果它永远不会更改为“使用本地存储:0”,那么这意味着它只停留在临时存储上。如果您通过 Xcode 在您的设备上运行该应用程序,它会显示任何 iCloud 活动吗?要同步的初始数据量是否很大?
  • 嗨@Iain 感谢您的时间和专业知识。我已经向 Apple Developer Technical Support 提出了这个问题,因为在您和其他一些人的帮助下,我不再相信这是我犯了一个错误。再次感谢。我得到答案后会发布。
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-17
  • 2014-08-31
相关资源
最近更新 更多