Ios 为什么调试和发布都需要将配置文件设置为distribution?

Ios 为什么调试和发布都需要将配置文件设置为distribution?,ios,react-native,circleci,fastlane,fastlane-match,Ios,React Native,Circleci,Fastlane,Fastlane Match,我正试图通过CircleCI上的fastlane构建我的react原生应用程序。我使用match管理证书/配置文件,并使用以下指南: fastlane ios beta版在本地运行 但是,在CI上,我发现安装程序无法生成,出现以下错误: 错误:没有团队“…”匹配的“match Development app”的配置文件。my“发现:Xcode找不到任何与“…/match Development app.my”匹配的配置文件。安装配置文件(通过将其拖放到Xcode的dock项上)或在目标

我正试图通过CircleCI上的fastlane构建我的react原生应用程序。我使用match管理证书/配置文件,并使用以下指南:

fastlane ios beta版在本地运行

但是,在CI上,我发现安装程序无法生成,出现以下错误:

错误:没有团队“…”匹配的“match Development app”的配置文件。my“发现:Xcode找不到任何与“…/match Development app.my”匹配的配置文件。安装配置文件(通过将其拖放到Xcode的dock项上)或在目标编辑器的Signing&Capabilities选项卡中选择其他配置文件。(在项目“MyApp”的目标“MyApp”中)`

我觉得这很奇怪,因为我的构建没有使用开发配置文件,而是使用分发配置文件。这在调用match/gym时的构建输出中得到确认,其中没有提到开发概要文件

在Xcode中,在“签名和功能”下,我按照上述指南取消了“自动管理签名”的勾选,将“调试”设置为使用开发配置文件,将“发布”设置为使用分发配置文件


将“调试”部分下的配置文件更改为“发布”是修复我的CI构建的原因,但这是为什么?当然,我的调试版本应该始终使用开发证书吗?

我的iOS版本也有类似的问题,最终意识到我需要将Xcode中的配置文件与Fastfile中的配置文件相匹配:

lane :beta do
  begin
    build_number = increment_build_number(...)
    slack(message: "Starting new build " + build_number)

    *** match(type: "appstore") ***

    build_app(
      ...

      *** export_method: "app-store", ***

      build_path: "./builds",
      output_directory: "./builds"
    )
    upload_to_testflight(
      skip_waiting_for_build_processing: true
    )

    slack(
      message: "App successfully published to TestFlight"
    )

  end
Match会将所需的配置文件下载到机器上,但是如果Xcode中的“配置配置文件”(在Build Settings->Signing中找到)与Fastfile不匹配,Xcode将无法从Match中获得所需的配置文件