Deliver (Fastlane) — это инструмент для загрузки приложений в App Store Connect: бинарных файлов, метаданных, скриншотов и цен. В отличие от ручной публикации через App Store Connect веб-интерфейс, Deliver автоматизирует все этапы релиза через единую команду. По данным официальной документации Fastlane (2026), Deliver сокращает время публикации релиза с 40 минут до нескольких секунд.
Главное
Deliver (Fastlane) — это компонент экосистемы Fastlane, который автоматизирует процесс публикации мобильных приложений в App Store. Он управляет загрузкой бинарных файлов, обновлением метаданных (название, описание, ключевые слова), загрузкой скриншотов и настройкой цен для всех языков локализации.
Без Deliver каждый релиз требует ручного обновления информации через App Store Connect веб-интерфейс: заполнение описания на нескольких языках, загрузка скриншотов для каждого размера экрана, обновление ключевых слов и настройка цен. Публикация в App Store — это финальный этап жизненного цикла iOS-приложения, включающий проверку бинарного файла, модерацию контента и вывод приложения в продакшн.
По данным App Store Connect Documentation (2025), приложения с регулярными обновлениями получают на 30% больше повторных установок и лучше ранжируются в поиске. Deliver позволяет командам выпускать обновления еженедельно, автоматизируя рутинные шаги публикации и снижая риск человеческой ошибки при заполнении метаданных на десятках языков.
Используйте Deliver для любого приложения, которое публикуется в App Store — особенно ценно для проектов с многозыковой локализацией, где ручное обновление 32 языков занимает несколько часов.
Механизм работы Deliver построен на двухэтапном процессе. На первом этапе инструмент подготавливает метаданные — проверяет структуру Deliverfile, загружает скриншоты и генерирует манифест изменений. На втором этапе Deliver отправляет данные в App Store Connect API, загружает бинарный файл и запускает процесс верификации сборки на стороне Apple.
Deliver использует App Store Connect API для всех операций, что гарантирует совместимость с новыми требованиями Apple и исключает использование приватных интерфейсов. App Store Connect API — это официальный REST API Apple для автоматизации операций с приложениями, включая загрузку сборок, управление метаданными и отслеживание статуса ревью.
Deliver интегрируется напрямую с Gym через Fastlane: после сборки IPA Deliver загружает его в App Store Connect и запускает процесс обработки. Параметр --ipa указывает путь к бинарному файлу. Если параметр не указан, Deliver автоматически находит последний IPA в директории сборки, указанной в Gymfile или переданной через предыдущие шаги Fastlane.
После загрузки Deliver ожидает завершения обработки бинарного файла Apple — аналогично Pilot, статус отслеживается через прогресс-бар. Доступные статусы: Processing, Waiting For Review, In Review, Ready For Sale или Rejected. Deliver уведомляет команду о каждом изменении статуса через коллбэки в Fastfile.
Deliver управляет полным набором метаданных приложения: название, описание (краткое и полное), ключевые слова, URL поддержки и маркетинга, категория и возрастной рейтинг. Метаданные приложения — это текстовая информация о приложении, которая отображается на странице App Store и используется для поисковой индексации и ASO-оптимизации.
Параметр --submit_for_review отправляет приложение на модерацию сразу после загрузки метаданных. Это ключевой параметр для полностью автоматизированного релиза. Без него Deliver только загружает данные, но не отправляет приложение на ревью — это полезно для предварительной проверки всех полей перед фактическим сабмитом.
Deliver автоматически загружает скриншоты для всех комбинаций устройств и языков из указанной директории. Имена файлов должны соответствовать шаблону: iPhone_6.5_01.png для iPhone с диагональю 6.5 дюйма на первом слоте. Deliver сам определяет размер скриншота и сопоставляет его с требованиями Apple для каждого типа устройства.
Скриншоты загружаются в правильном порядке и для каждого языка локализации отдельно. Если для языка не найдены скриншоты, Deliver использует английские версии как запасной вариант. Локализация скриншотов — обязательное требование для приложений, которые хотят хорошо ранжироваться в App Store разных стран, поскольку Apple учитывает локальный контент при поисковой выдаче.
# Базовая команда загрузки в App Store
fastlane deliver
# Загрузка с указанием метаданных и скриншотов
fastlane deliver --ipa "build/MyApp.ipa" \
--force --submit_for_review
# Предварительный просмотр без загрузки
fastlane deliver --preview
Deliverfile — это конфигурационный файл Fastlane для хранения метаданных приложения в структурированном Ruby-формате. В отличие от ручного заполнения форм в App Store Connect, Deliverfile позволяет версионировать метаданные в Git и проверять изменения через code review перед публикацией.
# Deliverfile — метаданные приложения
app_identifier("com.company.app")
title("MyApp")
description("Описание приложения для магазина")
keywords("мобильное, приложение, ios, swift")
support_url("https://company.com/support")
marketing_url("https://company.com")
privacy_url("https://company.com/privacy")
# Языки локализации метаданных
languages(["en-US", "ru", "de"])
Параметр languages определяет, для каких языков будут загружены метаданные. Для каждого языка должна быть создана отдельная директория в папке fastlane/metadata с соответствующими файлами описания, ключевых слов и маркетинговых текстов. Deliver поддерживает до 32 языков App Store одновременно.
Для загрузки скриншотов используется директория screenshots внутри папки Fastlane. Структура папок: screenshots/[Language]/[DeviceType]_[ScreenSize]_[Number].png. Deliver автоматически загружает скриншоты для указанных языков и устройств, сопоставляя размеры с требованиями Apple. Рекомендуется использовать Snapshot для генерации скриншотов — их выходной формат совместим с Deliver.
Ценовая группа настраивается через параметр price_tier, который принимает номер ценового уровня от 0 до 87. Ценовые группы Apple автоматически конвертируются в валюты всех стран присутствия. Deliver позволяет менять цену в рамках релиза, что полезно для временных акций или изменения бизнес-модели приложения.
Интерфейс Deliver включает команды для загрузки метаданных, бинарных файлов, скриншотов и полного релиза. Основная команда fastlane deliver без параметров использует данные из Deliverfile и metadata-директории для полного цикла публикации.
Команда fastlane deliver --preview запускает предварительную верификацию метаданных без фактической загрузки в App Store Connect. --force необходим для загрузки — без него Deliver работает в режиме preview. Параметр --skip_binary загружает только метаданные и скриншоты, пропуская загрузку бинарного файла — это удобно для быстрого обновления ASO-полей без нового релиза.
# Полный релиз с загрузкой бинарника
fastlane deliver --force --ipa "build/App.ipa"
# Загрузка только метаданных без бинарника
fastlane deliver --force --skip_binary
# Обновление только скриншотов
fastlane deliver --force --skip_metadata
Параметр --skip_metadata загружает только скриншоты и бинарный файл, сохраняя существующие метаданные без изменений. Это полезно для хотфикс-релизов, когда нужно быстро выпустить исправление без изменения описания и ASO-полей. Комбинация флагов позволяет гибко управлять каждым этапом публикации отдельно.
| Команда Deliver | Назначение | Флаги |
|---|---|---|
| deliver | Полная публикация с метаданными и бинарником | --force, --ipa |
| deliver --skip_binary | Обновление только метаданных и скриншотов | --force |
| deliver --skip_metadata | Загрузка бинарника и скриншотов без изменений ASO | --force, --ipa |
| deliver --preview | Предварительная проверка метаданных | без --force |
| deliver --submit_for_review | Автоматическая отправка на модерацию | --force, --ipa |
Релизный пайплайн с Deliver — это завершённый процесс CI/CD для iOS, который автоматизирует все этапы от коммита до публикации в App Store. Типичный пайплайн включает: Match для сертификатов, Gym для сборки IPA, Snapshot для скриншотов и Deliver для загрузки всех данных в App Store с последующей отправкой на модерацию.
Ключевая особенность Deliver в пайплайне — поддержка metadata.json, который хранит метаданные в структурированном JSON-формате. Это позволяет генерировать метаданные программно из внешних систем CMS или автоматически создавать описание на нескольких языках через API переводов.
# Релизный пайплайн в Fastfile
lane :release do
match(type: :appstore)
capture_screenshots
gym(scheme: "MyApp", export_method: "app-store")
deliver(ipa: "build/MyApp.ipa", force: true, submit_for_review: true)
end
Перед вызовом Deliver в пайплайне убедитесь, что все метаданные актуальны: описание соответствует новой версии, скриншоты обновлены для новых функций, а ценовая группа не требует изменений. Submit for review отправляет приложение на модерацию Apple, которая длится от 24 до 48 часов для новых приложений и от 2 до 12 часов для обновлений.
Deliver поддерживает механизм app_version, который позволяет указывать целевую версию для обновления метаданных. Если версия не указана, Deliver обновляет текущую активную версию приложения в App Store Connect. Для релиза новой версии необходимо предварительно создать соответствующую версию через App Store Connect интерфейс или API.
При использовании Deliver разработчики часто сталкиваются с ошибками валидации метаданных, неверной структурой файлов скриншотов и проблемами с аутентификацией. Диагностика ошибок Deliver начинается с анализа логов команды — Deliver выводит подробную информацию о каждом этапе загрузки и причинах отклонения.
Ошибка «Invalid screenshot path» возникает, когда структура папок со скриншотами не соответствует ожидаемому формату. Решение: проверьте имена файлов скриншотов на соответствие шаблону DeviceType_ScreenSize_Number.png (например AppleiPhone15ProMax_6.7_01.png). Deliver чувствителен к регистру символов и разделителям в именах файлов.
Ошибка «Metadata validation failed» указывает на несоответствие метаданных требованиям App Store. Решение: проверьте длину описания (до 4000 символов), ключевых слов (до 100 символов) и название (до 30 символов). App Store Review Guidelines содержат полные требования к каждому полю метаданных — рекомендуется проверять их перед каждым релизом.
При ошибке «Apple ID not found» приложение не существует в App Store Connect с указанным apple_identifier. Решение: создайте запись приложения в App Store Connect через веб-интерфейс перед первым вызовом Deliver, указав Bundle Identifier и название. Deliver не создаёт новые приложения — он только обновляет существующие записи в магазине.
Часто задаваемые вопросы
Да, Deliver поддерживает загрузку приложений для iOS, iPadOS, macOS, tvOS и watchOS. Для каждого типа приложения требуется указать корректный IPA-файл, собранный для соответствующей платформы. Deliver автоматически определяет платформу из App Store Connect записи приложения.
Deliver читает метаданные для каждого языка из директории fastlane/metadata/[lang]. Если для языка не найдены файлы, Deliver использует английские значения как fallback. Скриншоты загружаются для каждого языка отдельно из директории screenshots/[lang].
Нет, отключать двухфакторную аутентификацию не нужно. Deliver использует App Store Connect API Key для аутентификации, который работает независимо от 2FA. API-ключ генерируется в App Store Connect и позволяет выполнять все операции без интерактивного подтверждения.
Используйте команду fastlane deliver --reject, которая отзывает отправленное на модерацию приложение. Это возможно только если ревью ещё не началось — после начала проверки отменить апдейт можно только через веб-интерфейс App Store Connect.
Pilot управляет бета-сборками в TestFlight: загружает бинарники, распределяет по группам тестировщиков. Deliver занимается продакшн-публикацией: загружает метаданные, скриншоты и бинарники в App Store для конечных пользователей. Pilot — для бета-тестирования, Deliver — для релиза.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также