Общие сведения о Fastlane для iOSIntroduction to fastlane for iOS

Fastlane — это проект с открытым кодом, призванный упростить запутанную и часто трудоемкую процедуру выпуска приложений для iOS и Android.fastlane is an open source project, created to simplify the confusing and often tedious process of releasing iOS and Android apps. Он состоит из несколько служебных программ, каждая из которых охватывает определенный аспект выпуска приложений:It comprises of several utilities that each handle a specific aspect of app release, such as:

  • deliver — контролирует снимки экрана, метаданные и пакеты приложений и отправляет их в iTunes Connect.deliver – Manages and uploads screenshots, metadata, and application bundles to iTunes Connect.
  • produce — создает приложение в iTunes Connect и на портале Developer (это часто называется AppID).produce – Creates and app in iTunes Connect and the Developer Portal (often known as AppID). Также включает поддержку для групп приложений и служб приложений.It also includes support for App Groups and application services.
  • pem — создает и контролирует профили подготовки Push-уведомлений.pem – Creates and manages Push Notification Provisioning Profiles.
  • gym — может использоваться для сборки и подписания приложения iOS.gym – This can be used to build and sign an iOS application. (Приложения Xamarin уже используют MSBuild для сборки, подписывания и архиваций приложений.)(Xamarin apps already use MSBuild to build, sign, and archive apps)
  • cert — создает и обслуживает сертификаты для подписиcert – Creates and manages code signing certificates
  • sigh — создает и обслуживает профили подготовкиsigh – Creates and manages provisioning profiles
  • match — создает и обслуживает сертификаты и профили, а также сохраняет их в репозитории Git для синхронизации между членами команды разработчиков.match – Creates and maintains certificates and profiles and stores them in a git repository so that they can be synced across a development team.

Работать с Fastlane можно по-разному: с помощью команд терминала, файлов или переменных среды для сборок непрерывной интеграции.fastlane can be used in different ways: through terminal commands, through file based means, or by using environment variables for continuous integration builds.

Это руководство рассматривает настройку устройства для разработки приложений iOS. Основное внимание уделяется служебным программам cert, sigh и match.This guide deals specifically with setting up a device for development with iOS apps, and focuses on the cert, sigh and match utilities.

Руководство позволяет быстро освоить распространение приложений и рассказывает, как полностью автоматизировать этот процесс на сервере непрерывной интеграции.The content provided can be used as a springboard to aid with app distribution, including fully automating the process on a continuous integration server. При этом следует отметить, что Fastlane — это сторонний разработчик, создающий инструменты для работы с проектами Xcode, а значит, некоторые средства или команды, такие как fastlane init, могут не работать должным образом с файлами CSPROJ.However, it's important to note that fastlane is a 3rd party who make tools to support Xcode projects and therefore some tools or commands such as fastlane init may not work as expected with csproj files. Дополнительные сведения об использовании Fastlane, вспомогательных инструментах и выпуске приложений для Android с помощью Fastlane: https://fastlane.tools/.For more information on using fastlane, additional tools, or releasing for Android using fastlane, refer to https://fastlane.tools/

УстановкаInstallation

  1. На компьютере с macOS должны быть установлены средства командной строки Xcode.Make sure that Xcode command line tools are installed on the macOS machine. Чтобы установить их, выполните в терминале команду xcode-select --install.To install the tools, use the command xcode-select --install in Terminal. Если они уже установлены, отобразится следующая ошибка:If they are already installed, the following error will be displayed:

    error: command line tools are already installed, use "Software Update" to install updates
    
  2. Скачайте средства Fastlane из https://download.fastlane.tools.Download the fastlane tools from https://download.fastlane.tools.

    Примечание

    Инструменты Fastlane можно установить с помощью Homebrew, используя brew cask install fastlane, или с помощью Rubygems (2.0 и более поздние версии), используя sudo gem install fastlane –NV.It is possible to install fastlane tools from Homebrew using brew cask install fastlane or via Rubygems (2.0 or above) using sudo gem install fastlane –NV. Однако именно установщик обеспечивает создание всех необходимых зависимостей.However using the installer will ensure that the correct dependencies are available.

  3. Установите Fastlane, распаковав файл и дважды щелкнув исполняемый файл install.Install fastlane by unzipping the file, and double-click on the install executable. Если возникнет ошибка с указанием, что файл невозможно открыть, так как он получен от неизвестного разработчика, нажмите кнопку "OK" и выполните следующие действия:If you get an error advising that the file "can't be opened because it is from an unidentified developer", press OK and do the following:

    • Щелкните исполняемый файл install, удерживая клавишу CTRL.Control + Click on the install executable. Откроется следующее диалоговое окно:This will display the dialog below:

    • Нажмите кнопку "OK", чтобы начать установку инструментов FastlanePress OK to start installing fastlane tools

  4. В терминале откроется диалоговое окно, показанное ниже.Terminal will prompt you with the dialog illustrated below. Нажмите клавишу y:Press y:

  1. Перед первым использованием Fastlane выполните команду which fastlane.Run which fastlane before using fastlane for the first time. Путь должен выглядеть следующим образом:The path should look like the following:

    /Users/[user]/.fastlane/bin
    
  2. Если путь совпадает с указанным выше, все готово к работе.If the path matches the above, you're ready to get started.

    Если нет, сделайте следующее. В macOS откройте .bash_profile (скрытый текстовый файл в основном каталоге) с помощью следующей команды:If not, do the following: On macOS open .bash_profile, which is a hidden plaintext file in the home directory, with the following command:

    open ~/.bash_profile
    
  3. Добавьте следующую переменную среды PATH и сохраните файл:Add the following PATH environment variable, and save it:

    export PATH="$HOME/.fastlane/bin:$PATH"
    
  4. Запустите which fastlane еще раз и проверьте, что путь выглядит так: /Users/[user]/.fastlane/binRun which fastlane again, to confirm the path looks like /Users/[user]/.fastlane/bin

Обновление FastlaneUpdating fastlane

Fastlane — это активно развивающийся проект с открытым исходным кодом, и в нем регулярно публикуются новые выпуски.fastlane is a very active open source project that regularly pushes new releases. Когда доступна новая версия, система сообщает об этом при выполнении любой команды Fastlane:When a new version of fastlane is available, you will be advised when you run any fastlane command:

Чтобы установить обновление для Fastlane, загрузите последнюю версию пакета отсюда, а затем дважды щелкните пакет установки:To update to a new version of fastlane, download the latest package from here and double-click on the install package to run it:

ОписаниеContents

Эта серия руководств рассказывает о некоторых инструментах, используемых в Fastlane для подписывания кода приложений iOS при подготовке к их разработке или распространению.This series of guides presents some of the tools that fastlane uses for code signing your iOS app in preparation for development or distribution. На данный момент охвачены следующие средства:The tools currently covered are:

Служебные программы cert и sigh предназначены для создания и обслуживания сертификатов для подписи и профилей подготовки на локальном компьютере.cert and sigh deal with creating and managing signing certificates and provisioning profiles on a local machine. Служебная программа match предлагает дополнительные возможности.match takes this process a step further. Она позволяет создавать сертификаты и профили подготовки, работать с ними и сохранять их в репозитории Git, обеспечивая доступ для всех членов команды разработчиков.It creates and manages certificates and provisioning profiles, and stores them in a git repository, allowing them to be accessible by all members of a development team. Прочтите каждый раздел и узнайте, как работают и как использовать эти средства.Read through each section to find out how they work and how you can use them.

Использование инструментов Fastlane с XamarinUsing fastlane tools with Xamarin

Создав удостоверение подписывания и профили подготовки с помощью Fastlane, вы сможете легко настроить параметры подписывания пакетов в Visual Studio для Mac при условии, что сертификаты и закрытые ключи хранятся в цепочке ключей macOS, а профили подготовки — в папке ~/Library/MobileDevice/Provisioning Profiles.Once you have created a signing identity and provisioning profiles with fastlane, setting the bundle signing options in Visual Studio for Mac should be straightforward, providing that the certificates and private keys are in the macOS Keychain and that provisioning profiles are in the folder ~/Library/MobileDevice/Provisioning Profiles.

Чтобы задать параметры подписывания кода для приложения Xamarin.iOS, щелкните правой кнопкой мыши имя проекта, выберите "Параметры проекта" > "Сборка"> "Подписывание пакета iOS" и задайте удостоверение подписывания и профиль подготовки явным образом, как показано ниже:To set the code signing options for a Xamarin.iOS application, right-click on the project name, select Project Options > Build > iOS Bundle Signing and set the Signing Identity and Provisioning Profile explicitly, as demonstrated below: