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 Connect з наступним відправленням на модерацію.
Ключова особливість 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також