通过CircleCI fastlane部署,iTunes Connect上的内置测试不可用于内部测试 [英] Build not available on iTunes Connect for internal testing through CircleCI fastlane deployment

查看:383
本文介绍了通过CircleCI fastlane部署,iTunes Connect上的内置测试不可用于内部测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am currently trying to set up iOS deployment for a React-Native app, using Fastlane through CircleCI, and I am having an issue where I get to pilot in my fastlane script, I upload the build to iTunes Connect, but the build disappears from being used for TestFlight Internal Testers. If I archive locally and upload the build to iTunes Connect, it will be available for testing.

我的 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测试的输出

Output from the CircleCI test

在iTunes Connect上构建完成的处理

Build completed processing on iTunes Connect

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

Build not available (invisible) on TestFlight tab

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

I tried debugging this by archiving locally with the same certificates and profiles, but it uploads successfully and I am able to distribute to internal testers on TestFlight.

非常感谢您的帮助。

推荐答案

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

Found the solution that helped resolve this issue.

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

Two parts seem to help fix it


  1. 更改<$ c中使用的配置文件$ c> adhoc 到 appstore

a。我必须通过匹配生成appstore配置文件:

a. I had to generate the appstore provisioning profile through match:

 fastlane match appstore -a com.myapp.app.staging


  • 添加 include_symbols include_bitcode 到我的健身房构建参数。

    处理花费的时间比平时长,但在处理之后,它会返回到构建列表,其中 pilot 会识别它并将其发布到TestFlight。

    Processing took longer than normal, but after processing, it returns to the build list where pilot recognizes it and it posts to TestFlight.

    我的新Fastfile:

    My new 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
    

    这篇关于通过CircleCI fastlane部署,iTunes Connect上的内置测试不可用于内部测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆