Xcode 没有为 iCloud 创建默认容器并且 CloudKit:"Add the iCloud containers entitlement to your App ID" 失败

Xcode not creating default container for iCloud and CloudKit: "Add the iCloud containers entitlement to your App ID" fails

The Apple docs here 说 Xcode 当你启用 CloudKit 和 iCloud 时自动生成一个默认容器。 SO 上的其他帖子也说了同样的话。

但是,Xcode 在启用 iCloud 和 CloudKit 后无法生成默认容器。

Capabilities 选项卡的 iCloud 部分,步骤 Add the "iCloud containers" entitlement to your App ID 有错误。其他步骤显示一个复选标记。

点击 Fix issue 实际上并不能解决问题。

开发者门户显示 iCloud 已为此应用程序和配置文件启用,这似乎也得到了第一步(即 Add the "iCloud" entitlements to your App ID)检查的支持。

是否必须手动创建容器,或者如何让Xcode自动生成容器?

我刚刚经历了这个并通过生成新的开发配置文件并使用 Xcode 下载它来修复它(首选项 -> Select 帐户 -> 查看详细信息 -> 下载)

当App ID发生变化时,现有的开发配置文件将失效。

创建新的开发配置文件并导入后,错误应该会消失。

好像有时候没法创建iCloud容器,只能换App ID来创建iCloud容器。

Select 您的应用目标 -> 常规:

  1. 去Identify -> Bundle Identifier,更改App ID

  2. 转到签名 -> 自动管理签名,取消勾选并勾选它以在必要时重新生成配置文件。

  3. 转到功能 -> iCloud,Select 'Specify custom containers' 并为您的应用选择容器。

在标识符部分,当您将选择器从 "App ID" 更改为 "iCloud containers"

时,有一个手动添加容器的选项

  • 手动添加容器
  • Select App ID 功能中的此容器
  • 重新生成配置文件
  • 刷新Xcode(进入preferences/Accounts/Download手动配置文件)