使用iOS 8的iCloud,Core Data和Xcode 6.01的代码签名权利无效

ami*_*jaj 5 xcode core-data objective-c ios8 cloudkit

我已经在App Store中现有的应用程序,它与iOS 7的作品非常好和8是一个使用核心数据存储synching从用户添加的信息,以及iCloud中(键 - 值存储)的应用程序.

使用Xcode 5.1.1,一切都运行良好.我刚刚花了一些时间为我的用户发布紧急时区修复,因此修复与iCloud和Core Data无关.自从Xcode 6.0.1和iOS 8 SDK发布以来,我开始使用它.

在今天早上验证我的应用程序时,我收到以下错误:

Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in a provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.icloud-container-environment' in Payload/AppName.app/AppName'.
Run Code Online (Sandbox Code Playgroud)

在Developer门户中,我的App ID启用了iCloud,但仅适用于Xcode 5,因为我还不想使用CloudKit:

在此输入图像描述

在Xcode的部分中,在Xcode 6中,我现在看到以下内容,就像其他人一样:

在此输入图像描述

使用我的权利文件夹.所以在我的情况下,它类似于82828282.com.company.app,并且在功能部分中为红色.

在此输入图像描述

我不太明白我应该做些什么来让这个工作.

问题

1)我应该使用CloudKit吗?

2)我是否必须在Developer Portal的App ID中启用CloudKit?

3)我应该在Developer Portal中使用iCloud容器吗?

我目前的iCloud设置是使用权利:TeamID.identifier.

我通过从Xcode 5.1.1提交应用程序来解决这个问题,因为这是一个紧急修复,但我只是不明白如何使用iOS 8和Xcode 6.0.1进行未来开发,使用iCloud和我的应用程序中仍然启用了核心数据.

我已经看到了一些类似的案件中SO,喜欢这里(iCloud的核心数据不可用在Xcode 6/IOS 8 SDK运行后),并利用核心数据,iCloud的和CloudKit进行同步,备份,以及如何协同工作,但我真的不确定该怎么做.

任何指导都非常值得赞赏.

Ser*_*ndo 3

如果您想在 Xcode 6 将其更新为 iCloud 容器后继续使用旧的 Ubiquity 容器格式(以 $(TeamIdentifierPrefix) 开头的格式),您必须:

  • 转到 Apple 会员中心的“证书、标识符和配置文件”页面,然后在 App ID 的 iCloud 设置中设置“兼容 Xcode 5” - 看来您已经这样做了。

  • 确保您的权利文件中没有任何“com.apple.developer.icloud-services”密钥或“com.apple.developer.icloud-container-identifiers”密钥。

  • 您可能需要重新生成使用此应用程序 ID 的所有配置文件。