Как передать сборку внешним тестировщикам через Fastlane?

У меня есть Fastfile, который выполняет uploadToTestFlight действие:

uploadToTestflight(
  username: "foo@example.com",
  skipWaitingForBuildProcessing: false,
  distributeExternal: true)

Это удалось, когда я его запустил. Однако на самом деле он никому не распространял сборку. Когда я смотрю на сборку в App Store Connect > My Apps > Foo App > TestFlight > iOS, рядом с названием сборки написано "Утверждено", что означает, что она уже прошла процесс проверки.

Однако, когда я нажимаю на сборку, я замечаю, что единственными группами или пользователями, для которых она была выпущена, являются App Store Connect Users, что означает, что на самом деле он не был выпущен извне.

У меня есть группа под названием Foo Groupкоторый я хотел бы выпускать каждый раз, когда я бегаю по скоростной полосе. Как мне это сделать?

Я попытался решить проблему с помощью документации для Pilot, но у нее нет примера с внешним распространением.

3 ответа

Решение

В репозитории Fastlane на GitHub я нашел этот код вpilot/lib/pilot/build_manager.rb

if options[:distribute_external] && options[:groups].nil?
  # Legacy Spaceship::TestFlight API used to have a `default_external_group` that would automatically
  # get selected but this no longer exists with Spaceship::ConnectAPI
  UI.user_error!("You must specify at least one group using the `:groups` option to distribute externally")
end

Я предполагаю, что вы не заметили этого тихого предупреждения на выходе вашего бега Fastlane. Вы указалиgroups параметр?

Также стоит указать changelog param, если вы делаете внешние релизы полностью автоматически.

      optional_changelog = %Q{
  Your changelog
}

upload_to_testflight(
    ...
    changelog: optional_changelog,
    distribute_external: true,
    groups: [
        "Your group",
        "Your other group"
    ],
    skip_submission: false, // defaults to false if not specified
    skip_waiting_for_build_processing: false, // defaults to false if not specified
)

FTR У меня были проблемы с загрузкой во внешнюю группу, и проблема в том, чтоskip_waiting_for_build_processingнеобходимо установить наfalse.

Поэтому убедитесь, что у вас установлены следующие параметры

       distribute_external: true,
 groups: ['Name of your group'],
 skip_submission: true,
 notify_external_testers: true,
 skip_waiting_for_build_processing: false,

https://docs.fastlane.tools/actions/testflight/#Параметры

Другие вопросы по тегам