【问题标题】:Using TestFlight with CloudKit development environment在 CloudKit 开发环境中使用 TestFlight
【发布时间】:2015-01-03 14:04:06
【问题描述】:

是否可以使用 CloudKit 的“开发”环境通过 iTunes Connect 将应用提交到新的 TestFlight?

似乎只有 AdHoc Provisioning Profiles 在从 Organizer 执行“导出”时要求提供首选 CloudKit 容器名称(生产或开发),但是 AdHoc Provisioning Profiles 不包含提交所需的“beta-reports-active”权利应用到 iTunes Connect 并允许 TestFlight 使用。

因此,如果您想使用新的 iTunes Connect 版本的 TestFlight 来测试您的基于 CloudKit 的应用程序,您似乎必须使用生产环境。有其他人遇到过这个问题吗?

【问题讨论】:

    标签: ios testflight cloudkit


    【解决方案1】:

    这似乎是不可能的。

    “请注意,通过 TestFlight 或商店分发的应用程序不能使用开发环境。” https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/CloudKitQuickStart/TestingYourApp/TestingYourApp.html

    但是,您可以在通过 Xcode 调试应用程序时指向 Production,方法是在您的权利文件中将 com.apple.developer.icloud-container-environment 设置为“Production”。

    【讨论】:

    • 谢谢;我没有意识到即使进行 内部 beta 测试,我也需要切换到生产环境。
    【解决方案2】:

    其实你可以按照这个文档使用沙盒来测试你的应用:

    apple documentation

    【讨论】:

      【解决方案3】:

      我也尝试过这样做,但我认为这是不可能的。 TestFlight 主要用于“您打算在 App Store 上公开发布”的应用程序。如果您对 iTunes 用户进行 Beta 测试,Apple 希望您使用生产服务器,因为用户希望他们的内容能够在发布的产品中继续存在。

      就个人而言,我刚开始使用 TestFlight 时就决定切换到生产环境。如果您只是对内部用户进行测试,那么您仍然可以选择 Ad Hoc 分发,正如您所指出的那样,您可以使用任一服务器。

      顺便说一句,您可以在本地更改服务器,这样您就可以从调试版本中测试生产。

      文档说明:

      在运行时,CloudKit 使用您应用的 com.apple.developer.icloud-container-environment 权利 发现您使用的是开发版还是生产版 您的配置文件。

      因此您可以将其添加到您的权利中以将其设置为生产或开发:

      <key>com.apple.developer.icloud-container-environment</key>
      <string>Production</string>
      

      您可以尝试将此字段设置为 Development,然后推送到 iTunes Connect,但我猜 Xcode 会在上传期间覆盖它以强制您使用 Production。

      【讨论】:

      • 我确实尝试了权利建议并上传到 iTunes TestFlight,但是该版本上有一个标记,表明它无法使用。不过感谢您的帮助!
      • 太棒了!谢谢!适合我通过调试切换到 Prod 环境
      • 这对我不起作用。在我的 archived-expanded-entitlements.xcent 我从 com.apple.security.app-sandbox 切换到 com.apple.developer.icloud-container-environmentProduction 仍然指向 SandBox
      • @user2924482 应用沙箱与 iCloud 环境不同。应用沙盒是指你的应用只能访问属于它的文件。无论如何,所有 iOS 应用程序总是被沙盒化。 iCloud 环境与此无关 - 它指的是应用程序与哪个服务器通信:开发服务器或生产服务器。
      • 您只能对生产进行附加更改。您不能在生产中删除或重命名事物。但这正是 Apple 在您使用 TestFlight 之前想要的。他们不希望您向他们的客户提供您以后破坏的代码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2018-07-28
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多