Сборка недоступна в iTunes Connect для внутреннего тестирования через развертывание CircleCI fastlane

В настоящее время я пытаюсь настроить развертывание iOS для приложения React-Native, используя Fastlane через CircleCI, и у меня возникла проблема, связанная с pilot в моем сценарии fastlane я загружаю сборку в 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

Результаты CircleCI

Сборка завершена обработка в iTunes Connect

iTunes Connect

Сборка недоступна (невидима) на вкладке TestFlight

TestFlight

Я попытался отладить это путем локального архивирования с теми же сертификатами и профилями, но оно успешно загружено, и я могу распространять его среди внутренних тестеров на TestFlight.

Большое спасибо за помощь.

1 ответ

Решение

Нашел решение, которое помогло решить эту проблему.

Кажется, две части помогают это исправить

  1. Изменение профиля используется с adhoc в appstore

    а. Я должен был создать профиль обеспечения AppStore через матч:

     fastlane match appstore -a com.myapp.app.staging
    
  2. Добавление include_symbols а также include_bitcode к моему gym параметры сборки.

Обработка заняла больше времени, чем обычно, но после обработки возвращается к списку сборки, где 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
Другие вопросы по тегам