构建在 iTunes Connect 上不可用,无法通过 CircleCI 快速通道部署进行内部测试

Build not available on iTunes Connect for internal testing through CircleCI fastlane deployment

我目前正在尝试通过 CircleCI 使用 Fastlane 来为 React-Native 应用程序设置 iOS 部署,但我在我的 fastlane 脚本中遇到 pilot 的问题,我将构建上传到 iTunes Connect,但构建从用于 TestFlight 内部测试人员的过程中消失了。如果我在本地存档并将构建上传到 iTunes Connect,它将可用于测试。

我的Fastfile,使用版本2.51.0

platform :ios do
  lane :deploy_staging do
    match(
      type: "adhoc",
      force: true
    )

    increment_build_number(
      xcodeproj: './ios/MyApp.xcodeproj'
    )

    gym(
      export_method: "ad-hoc",
      scheme: "MyApp Staging",
      project: "./ios/MyApp.xcodeproj"
    )
    pilot(
      skip_submission: false,
      distribute_external: false,
    )

    clean_build_artifacts
    git_add(
      path: '.'
    )
    git_commit(
      path: '.',
      message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]",
    )
    push_to_git_remote(
      local_branch: ENV["CIRCLE_BRANCH"],
      remote_branch: ENV["CIRCLE_BRANCH"]
    )
  end
end

我的circle.yml

machine:
  environment:
    PATH: '$PATH:$HOME/node/node-v8.1.3-darwin-x64/bin'
  xcode:
    version: 8.3.3

dependencies:
  cache_directories:
    - $HOME/node
  pre:
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || mkdir \"$HOME/node\""
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || curl -L \"https://nodejs.org/dist/v8.1.3/node-v8.1.3-darwin-x64.tar.gz\" -o \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\""
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || tar -xzf \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\" -C \"$HOME/node/\""
    - "rm -f \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\""
  override:
    - npm install -g react-native-cli
    - npm install

test:
  override:
    - npm test
  post:
    - mkdir -p $CIRCLE_TEST_REPORTS/junit/
    - find . -type f -regex ".*/test_out/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;

deployment:
  pre:
    - gem install fastlane
  staging:
    branch: staging
    commands:
      - npm run build:ios
      - fastlane deploy_staging

CircleCI 测试的输出

在 iTunes Connect 上构建完成处理

在 TestFlight 选项卡上构建不可用(不可见)

我尝试通过使用相同的证书和配置文件在本地存档来调试它,但它上传成功并且我能够在 TestFlight 上分发给内部测试人员。

非常感谢您的帮助。

找到有助于解决此问题的解决方案。

两个部分似乎有助于修复它

  1. 正在将使用的配置文件从 adhoc 更改为 appstore

    一个。我必须通过匹配生成应用商店配置文件:

      fastlane match appstore -a com.myapp.app.staging
    
  2. include_symbolsinclude_bitcode 添加到我的 gym 构建参数中。

处理时间比平时长,但处理后,它 returns 到构建列表,pilot 识别它并发布到 TestFlight。

我的新 Fastfile:

  lane :deploy_staging do    
    match(
      type: "appstore"
    )

    increment_build_number(
      xcodeproj: './ios/MyApp.xcodeproj'
    )

    gym(
      include_symbols: true,
      include_bitcode: true,
      export_method: "app-store",
      scheme: "MyApp Staging",
      project: "./ios/MyApp.xcodeproj"
    ) # Build your app - more options available

    pilot

    clean_build_artifacts
    git_add(
      path: '.'
    )
    git_commit(
      path: '.',
      message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]",
    )
    push_to_git_remote(
      local_branch: ENV["CIRCLE_BRANCH"],
      remote_branch: ENV["CIRCLE_BRANCH"]
    )

  end