Автоматизация сборки iOS-приложений с помощью Fastlane
Fastlane — замечательный инструмент, позволяющий автоматизировать ручные действия разработчика. С его помощью вы упростите процессы сборки и выкладки iOS-приложений, существенно облегчив себе жизнь. Профит очевиден: на начальные настройки по автоматизации выкладки на TestFlight либо в App Store уйдёт около 2 часов, зато потом вы сэкономите кучу времени, ведь процесс станет запускаться простым вызовом из командной строки.
Установка Fastlane
В первую очередь, стоит обновить Xcode Command Tools до последней версии:
$ xcode-select –install
Теперь можно приступать к установке gem fastlane:
$ sudo gem install fastlane -NV # либо посредством brew $ brew cask install fastlane
Как видите, всё просто.
Добавление Fastlane в проект
Далее следует в корневой директории вашего проекта запустить следующую команду:
$ sudo fastlane init
В результате Fastlane предложит варианты предустановленных скриптов:
Если планируете прописывать нужные команды самостоятельно, следует выбрать вариант № 4:
Вот и всё! Теперь файл gemfile и папка fastlane установлены в ваш проект.
На что обратить внимание
Во-первых, чтобы успешно выполнить все шаги по автоматизации, вам нужна подписка Apple Developer (в App Store Connect не предусмотрен доступ для бесплатных аккаунтов).
Во-вторых, если в вашем shell-профайле locale не UTF-8, возможны трудности со сборкой и загрузкой билдов. Чтобы их устранить, зайдите в файл shell profile (~/.bashrc, ~/.bash_profile, ~/.profile или ~/.zshrc) и добавьте всего 2 строки:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
Основные команды Fastlane
Fastlane имеет множество полезных команд, которые упрощают жизнь программисту: — cert. Служит для автоматического скачивания и установки необходимых сертификатов для подписи приложений (Distribution, Development); — increment_build_number. Обеспечивает увеличение номера билда на 1 (или изменяет номер билда на то значение, которое задано в build_number); — snapshot. Команда используется для запуска UI-тестов и генерации скриншотов, которые вы сможете отправить в App Store на review; — sigh. Обеспечивает автоматическое скачивание и установку необходимых provision profiles; — gym. Служит для сборки архива приложения (.ipa); — deliver. Команда обеспечивает отправку ipa, а также скриншотов и метаданных в App Store; — scan. Эта команда выполняет запуск таргет-тестов; — pilot. Используется для загрузки свежего ipa на бета-тест в TestFlight. Кроме того, вы получите возможность управлять тестировщиками.
Есть и многие другие команды. Более подробную информацию о Fastlane вы всегда можете получить в официальной технической документации. Кроме того, изучение этого инструмента входит в 8-й модуль программы обучения «iOS-разработчик. Продвинутый курс» в OTUS.