运行 Mac 应用 CloudKit 连接到生产环境

Run Mac App with CloudKit connected to the Production environment

是否有人使用 Xcode 8 beta 3 成功 运行 开发者 ID 签名 Mac 应用 CloudKit 并有权访问生产环境?根据 Apple 的 this diagram ,这应该是可能的,但我所有的尝试都导致崩溃。具体要遵循哪些步骤?

到目前为止,我的尝试包括使用 "Mac DirectDistribution" 配置文件,该配置文件指向启用了 CloudKit 并可以访问 iCloud 容器的 App ID。

我的 CloudKit enabled-app 与标准 App Store 配置完美配合,但我想在生产环境中对其进行测试。

经过无数次实验,我找到了以下工作解决方案,使用 Xcode 7.3 在 Mac 上使用生产数据测试 CloudKit:

  1. 在您的 App 项目中,在 Targets > Identity > Signing 中选择 Developer ID
  2. 在 Entitlements 文件中添加一个新行,键为 "com.apple.developer.icloud-container-environment",值为 "Production"
  3. 运行 App(调试方式)

将应用程序导出到存档,选择“导出”,然后select "Export as a Mac Application" 生成基于开发者 ID 的发布版本。

如果您使用 Xcode 8,步骤或多或少是相同的,但您有额外的选项来禁用 App Sandbox。

只需将以下条目添加到您的权利 plist 进行干净构建(shift+command k)。无需其他操作:(要复制的字符串:com.apple.developer.icloud-container-environment

对于 Mac,最简单的方法是在归档后点击分发应用程序,然后选择开发并点击下一步,然后选择您的 iCloud 环境 (Production/Test) 并将应用程序保存到您想要的任何位置。此版本将访问您的生产 iCloud。 enter image description here

enter image description here