Deliver (Fastlane) — to narzędzie do przesyłania aplikacji do App Store Connect: plików binarnych, metadanych, zrzutów ekranu i cen. W przeciwieństwie do ręcznej publikacji przez interfejs webowy App Store Connect, Deliver automatyzuje wszystkie etapy wydania za pomocą jednego polecenia. Według oficjalnej dokumentacji Fastlane (2026), Deliver skraca czas publikacji wydania z 40 minut do kilku sekund.
Najważniejsze
Deliver (Fastlane) — to komponent ekosystemu Fastlane, który automatyzuje proces publikacji aplikacji mobilnych w App Store. Zarządza przesyłaniem plików binarnych, aktualizacją metadanych (nazwa, opis, słowa kluczowe), przesyłaniem zrzutów ekranu i konfiguracją cen dla wszystkich języków lokalizacji.
Bez Deliver każde wydanie wymaga ręcznej aktualizacji informacji przez interfejs webowy App Store Connect: wypełnianie opisu w kilku językach, przesyłanie zrzutów ekranu dla każdego rozmiaru ekranu, aktualizacja słów kluczowych i konfiguracja cen. Publikacja w App Store — to końcowy etap cyklu życia aplikacji iOS, obejmujący weryfikację pliku binarnego, moderację treści i udostępnienie aplikacji w produkcji.
Według App Store Connect Documentation (2025), aplikacje z regularnymi aktualizacjami otrzymują o 30% więcej ponownych instalacji i lepiej pozycjonują się w wyszukiwarce. Deliver pozwala zespołom wydawać aktualizacje co tydzień, automatyzując rutynowe kroki publikacji i zmniejszając ryzyko błędu ludzkiego przy wypełnianiu metadanych w dziesiątkach języków.
Używaj Deliver dla każdej aplikacji publikowanej w App Store — jest to szczególnie cenne dla projektów z wielojęzyczną lokalizacją, gdzie ręczna aktualizacja 32 języków zajmuje kilka godzin.
Mechanizm działania Deliver opiera się na dwuetapowym procesie. W pierwszym etapie narzędzie przygotowuje metadane — sprawdza strukturę Deliverfile, ładuje zrzuty ekranu i generuje manifest zmian. W drugim etapie Deliver wysyła dane do App Store Connect API, przesyła plik binarny i uruchamia proces weryfikacji kompilacji po stronie Apple.
Deliver używa App Store Connect API do wszystkich operacji, co gwarantuje zgodność z nowymi wymaganiami Apple i wyklucza użycie prywatnych interfejsów. App Store Connect API — to oficjalne REST API Apple do automatyzacji operacji na aplikacjach, obejmujące przesyłanie kompilacji, zarządzanie metadanymi i śledzenie statusu recenzji.
Deliver integruje się bezpośrednio z Gym przez Fastlane: po kompilacji IPA Deliver przesyła go do App Store Connect i uruchamia proces przetwarzania. Parametr --ipa wskazuje ścieżkę do pliku binarnego. Jeśli parametr nie jest podany, Deliver automatycznie znajduje ostatni IPA w katalogu kompilacji określonym w Gymfile lub przekazanym przez poprzednie kroki Fastlane.
Po przesłaniu Deliver oczekuje na zakończenie przetwarzania pliku binarnego przez Apple — podobnie jak Pilot, status jest śledzony przez pasek postępu. Dostępne statusy: Processing, Waiting For Review, In Review, Ready For Sale lub Rejected. Deliver powiadamia zespół o każdej zmianie statusu przez callbacki w Fastfile.
Deliver zarządza pełnym zestawem metadanych aplikacji: nazwa, opis (krótki i pełny), słowa kluczowe, URL wsparcia i marketingu, kategoria i rating wiekowy. Metadane aplikacji — to informacje tekstowe o aplikacji wyświetlane na stronie App Store, używane do indeksacji wyszukiwarki i optymalizacji ASO.
Parametr --submit_for_review wysyła aplikację do moderacji natychmiast po przesłaniu metadanych. To kluczowy parametr dla w pełni zautomatyzowanego wydania. Bez niego Deliver tylko przesyła dane, ale nie wysyła aplikacji do recenzji — jest to przydatne do wstępnego sprawdzenia wszystkich pól przed faktycznym zgłoszeniem.
Deliver automatycznie przesyła zrzuty ekranu dla wszystkich kombinacji urządzeń i języków z określonego katalogu. Nazwy plików muszą odpowiadać wzorcowi: iPhone_6.5_01.png dla iPhone'a z przekątną 6.5 cala na pierwszym slocie. Deliver sam określa rozmiar zrzutu ekranu i dopasowuje go do wymagań Apple dla każdego typu urządzenia.
Zrzuty ekranu są przesyłane w prawidłowej kolejności i dla każdego języka lokalizacji osobno. Jeśli dla języka nie znaleziono zrzutów, Deliver używa wersji angielskich jako opcji zastępczej. Lokalizacja zrzutów ekranu — to obowiązkowy wymóg dla aplikacji, które chcą dobrze pozycjonować się w App Store różnych krajów, ponieważ Apple uwzględnia lokalne treści w wynikach wyszukiwania.
# Podstawowe polecenie przesyłania do App Store
fastlane deliver
# Przesyłanie z określeniem metadanych i zrzutów ekranu
fastlane deliver --ipa "build/MyApp.ipa" \
--force --submit_for_review
# Podgląd bez przesyłania
fastlane deliver --preview
Deliverfile — to plik konfiguracyjny Fastlane do przechowywania metadanych aplikacji w ustrukturyzowanym formacie Ruby. W przeciwieństwie do ręcznego wypełniania formularzy w App Store Connect, Deliverfile pozwala wersjonować metadane w Git i sprawdzać zmiany przez code review przed publikacją.
# Deliverfile — metadane aplikacji
app_identifier("com.company.app")
title("MyApp")
description("Opis aplikacji dla sklepu")
keywords("mobilna, aplikacja, ios, swift")
support_url("https://company.com/support")
marketing_url("https://company.com")
privacy_url("https://company.com/privacy")
# Języki lokalizacji metadanych
languages(["en-US", "ru", "de"])
Parametr languages określa, dla których języków zostaną przesłane metadane. Dla każdego języka należy utworzyć oddzielny katalog w folderze fastlane/metadata z odpowiednimi plikami opisu, słów kluczowych i tekstów marketingowych. Deliver obsługuje jednocześnie do 32 języków App Store.
Do przesyłania zrzutów ekranu używany jest katalog screenshots wewnątrz folderu Fastlane. Struktura folderów: screenshots/[Language]/[DeviceType]_[ScreenSize]_[Number].png. Deliver automatycznie przesyła zrzuty ekranu dla określonych języków i urządzeń, dopasowując rozmiary do wymagań Apple. Zaleca się używanie Snapshot do generowania zrzutów ekranu — ich format wyjściowy jest zgodny z Deliver.
Grupa cenowa jest konfigurowana przez parametr price_tier, który przyjmuje numer poziomu cenowego od 0 do 87. Grupy cenowe Apple są automatycznie przeliczane na waluty wszystkich krajów obecności. Deliver pozwala zmieniać cenę w ramach wydania, co jest przydatne dla tymczasowych promocji lub zmiany modelu biznesowego aplikacji.
Interfejs Deliver obejmuje polecenia do przesyłania metadanych, plików binarnych, zrzutów ekranu i pełnego wydania. Główne polecenie fastlane deliver bez parametrów używa danych z Deliverfile i katalogu metadata do pełnego cyklu publikacji.
Polecenie fastlane deliver --preview uruchamia wstępną weryfikację metadanych bez faktycznego przesyłania do App Store Connect. --force jest wymagane do przesłania — bez niego Deliver działa w trybie podglądu. Parametr --skip_binary przesyła tylko metadane i zrzuty ekranu, pomijając przesyłanie pliku binarnego — jest to wygodne do szybkiej aktualizacji pól ASO bez nowego wydania.
# Pełne wydanie z przesyłaniem pliku binarnego
fastlane deliver --force --ipa "build/App.ipa"
# Przesyłanie tylko metadanych bez pliku binarnego
fastlane deliver --force --skip_binary
# Aktualizacja tylko zrzutów ekranu
fastlane deliver --force --skip_metadata
Parametr --skip_metadata przesyła tylko zrzuty ekranu i plik binarny, zachowując istniejące metadane bez zmian. Jest to przydatne dla wydań hotfix, gdy trzeba szybko opublikować poprawkę bez zmiany opisu i pól ASO. Kombinacja flag pozwala elastycznie zarządzać każdym etapem publikacji osobno.
| Polecenie Deliver | Przeznaczenie | Flagi |
|---|---|---|
| deliver | Pełna publikacja z metadanymi i plikiem binarnym | --force, --ipa |
| deliver --skip_binary | Aktualizacja tylko metadanych i zrzutów ekranu | --force |
| deliver --skip_metadata | Przesyłanie pliku binarnego i zrzutów ekranu bez zmian ASO | --force, --ipa |
| deliver --preview | Wstępne sprawdzenie metadanych | bez --force |
| deliver --submit_for_review | Automatyczne wysłanie do moderacji | --force, --ipa |
Potok wydań z Deliver — to kompletny proces CI/CD dla iOS, który automatyzuje wszystkie etapy od commitu do publikacji w App Store. Typowy potok obejmuje: Match dla certyfikatów, Gym do kompilacji IPA, Snapshot dla zrzutów ekranu i Deliver do przesyłania wszystkich danych do App Store z następczym wysłaniem do moderacji.
Kluczową cechą Deliver w potoku jest obsługa metadata.json, który przechowuje metadane w ustrukturyzowanym formacie JSON. Pozwala to na programowe generowanie metadanych z zewnętrznych systemów CMS lub automatyczne tworzenie opisu w kilku językach przez API tłumaczeń.
# Potok wydań w 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
Przed wywołaniem Deliver w potoku upewnij się, że wszystkie metadane są aktualne: opis odpowiada nowej wersji, zrzuty ekranu są zaktualizowane dla nowych funkcji, a grupa cenowa nie wymaga zmian. Submit for review wysyła aplikację do moderacji Apple, która trwa od 24 do 48 godzin dla nowych aplikacji i od 2 do 12 godzin dla aktualizacji.
Deliver obsługuje mechanizm app_version, który pozwala określić docelową wersję do aktualizacji metadanych. Jeśli wersja nie jest określona, Deliver aktualizuje bieżącą aktywną wersję aplikacji w App Store Connect. Do wydania nowej wersji należy wcześniej utworzyć odpowiednią wersję przez interfejs App Store Connect lub API.
Podczas używania Deliver programiści często spotykają się z błędami walidacji metadanych, nieprawidłową strukturą plików zrzutów ekranu i problemami z uwierzytelnianiem. Diagnostyka błędów Deliver rozpoczyna się od analizy logów polecenia — Deliver wyświetla szczegółowe informacje o każdym etapie przesyłania i przyczynach odrzucenia.
Błąd „Invalid screenshot path„ występuje, gdy struktura folderów ze zrzutami ekranu nie odpowiada oczekiwanemu formatowi. Rozwiązanie: sprawdź nazwy plików zrzutów ekranu pod kątem zgodności ze wzorcem DeviceType_ScreenSize_Number.png (na przykład AppleiPhone15ProMax_6.7_01.png). Deliver jest wrażliwy na wielkość liter i separatory w nazwach plików.
Błąd „Metadata validation failed„ wskazuje na niezgodność metadanych z wymaganiami App Store. Rozwiązanie: sprawdź długość opisu (do 4000 znaków), słów kluczowych (do 100 znaków) i nazwy (do 30 znaków). App Store Review Guidelines zawierają pełne wymagania dla każdego pola metadanych — zaleca się sprawdzanie ich przed każdym wydaniem.
Przy błędzie „Apple ID not found„ aplikacja nie istnieje w App Store Connect z podanym apple_identifier. Rozwiązanie: utwórz wpis aplikacji w App Store Connect przez interfejs webowy przed pierwszym wywołaniem Deliver, podając Bundle Identifier i nazwę. Deliver nie tworzy nowych aplikacji — aktualizuje tylko istniejące wpisy w sklepie.
Często zadawane pytania
Tak, Deliver obsługuje przesyłanie aplikacji dla iOS, iPadOS, macOS, tvOS i watchOS. Dla każdego typu aplikacji należy podać prawidłowy plik IPA skompilowany dla odpowiedniej platformy. Deliver automatycznie określa platformę na podstawie wpisu aplikacji w App Store Connect.
Deliver odczytuje metadane dla każdego języka z katalogu fastlane/metadata/[lang]. Jeśli dla języka nie znaleziono plików, Deliver używa wartości angielskich jako fallback. Zrzuty ekranu są przesyłane dla każdego języka osobno z katalogu screenshots/[lang].
Nie, wyłączanie uwierzytelniania dwuskładnikowego nie jest konieczne. Deliver używa App Store Connect API Key do uwierzytelniania, który działa niezależnie od 2FA. Klucz API jest generowany w App Store Connect i pozwala wykonywać wszystkie operacje bez interaktywnego potwierdzania.
Użyj polecenia fastlane deliver --reject, które wycofuje wysłaną do moderacji aplikację. Jest to możliwe tylko jeśli recenzja jeszcze się nie rozpoczęła — po rozpoczęciu sprawdzania anulowanie aktualizacji jest możliwe tylko przez interfejs webowy App Store Connect.
Pilot zarządza kompilacjami beta w TestFlight: przesyła pliki binarne, dystrybuuje do grup testerów. Deliver zajmuje się publikacją produkcyjną: przesyła metadane, zrzuty ekranu i pliki binarne do App Store dla użytkowników końcowych. Pilot — do testów beta, Deliver — do wydania.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również