Deliver (Fastlane) è uno strumento per caricare applicazioni su App Store Connect: file binari, metadati, screenshot e prezzi. A differenza della pubblicazione manuale attraverso l'interfaccia web di App Store Connect, Deliver automatizza tutte le fasi del rilascio con un unico comando. Secondo la documentazione ufficiale di Fastlane (2026), Deliver riduce il tempo di pubblicazione del rilascio da 40 minuti a pochi secondi.
Punti chiave
Deliver (Fastlane) è un componente dell'ecosistema Fastlane che automatizza il processo di pubblicazione di applicazioni mobili sull'App Store. Gestisce il caricamento di file binari, l'aggiornamento dei metadati (nome, descrizione, parole chiave), il caricamento di screenshot e la configurazione dei prezzi per tutte le lingue di localizzazione.
Senza Deliver, ogni rilascio richiede l'aggiornamento manuale delle informazioni attraverso l'interfaccia web di App Store Connect: compilare descrizioni in più lingue, caricare screenshot per ogni dimensione dello schermo, aggiornare parole chiave e configurare prezzi. La pubblicazione sull'App Store è la fase finale del ciclo di vita di un'applicazione iOS, che include la verifica del file binario, la moderazione dei contenuti e la messa a disposizione dell'applicazione in produzione.
Secondo la Documentazione di App Store Connect (2025), le applicazioni con aggiornamenti regolari ricevono il 30% in più di reinstallazioni e si posizionano meglio nei risultati di ricerca. Deliver consente ai team di pubblicare aggiornamenti settimanalmente, automatizzando i passaggi di pubblicazione di routine e riducendo il rischio di errore umano durante la compilazione dei metadati in decine di lingue.
Utilizza Deliver per qualsiasi applicazione pubblicata sull'App Store — è particolarmente prezioso per progetti con localizzazione multilingue dove l'aggiornamento manuale di 32 lingue richiede diverse ore.
Il meccanismo di funzionamento di Deliver si basa su un processo a due fasi. Nella prima fase, lo strumento prepara i metadati — valida la struttura del Deliverfile, carica gli screenshot e genera un manifesto delle modifiche. Nella seconda fase, Deliver invia i dati all'API di App Store Connect, carica il file binario e avvia il processo di verifica del build lato Apple.
Deliver utilizza l'API di App Store Connect per tutte le operazioni, garantendo la compatibilità con i requisiti più recenti di Apple ed eliminando l'uso di interfacce private. L'API di App Store Connect è l'API REST ufficiale di Apple per automatizzare le operazioni sulle applicazioni, inclusi il caricamento dei build, la gestione dei metadati e il monitoraggio dello stato della revisione.
Deliver si integra direttamente con Gym tramite Fastlane: dopo il build IPA, Deliver lo carica su App Store Connect e avvia l'elaborazione. Il parametro --ipa specifica il percorso del file binario. Se non specificato, Deliver trova automaticamente l'ultimo IPA nella directory di build indicata in Gymfile o passata attraverso i passaggi Fastlane precedenti.
Dopo il caricamento, Deliver attende il completamento dell'elaborazione del file binario da parte di Apple — simile a Pilot, lo stato viene monitorato tramite una barra di progresso. Stati disponibili: Processing, Waiting For Review, In Review, Ready For Sale o Rejected. Deliver notifica il team di ogni cambiamento di stato tramite callback in Fastfile.
Deliver gestisce l'insieme completo dei metadati dell'applicazione: nome, descrizione (breve e completa), parole chiave, URL di supporto e marketing, categoria e classificazione per età. I metadati dell'applicazione sono le informazioni testuali sull'applicazione visualizzate sulla pagina dell'App Store e utilizzate per l'indicizzazione di ricerca e l'ottimizzazione ASO.
Il parametro --submit_for_review invia l'applicazione in moderazione immediatamente dopo il caricamento dei metadati. Questo è un parametro chiave per rilasci completamente automatizzati. Senza di esso, Deliver carica solo i dati ma non invia l'applicazione in revisione — utile per pre-verificare tutti i campi prima dell'invio effettivo.
Deliver carica automaticamente gli screenshot per tutte le combinazioni di dispositivi e lingue dalla directory specificata. I nomi dei file devono seguire il modello: iPhone_6.5_01.png per un iPhone da 6,5 pollici nel primo slot. Deliver determina la dimensione dello screenshot e la abbina ai requisiti Apple per ogni tipo di dispositivo.
Gli screenshot vengono caricati nell'ordine corretto e separatamente per ogni lingua di localizzazione. Se non vengono trovati screenshot per una lingua, Deliver utilizza le versioni inglesi come fallback. La localizzazione degli screenshot è un requisito obbligatorio per le applicazioni che vogliono posizionarsi bene nell'App Store di diversi paesi, poiché Apple considera il contenuto locale nei risultati di ricerca.
# Comando base di caricamento sull'App Store
fastlane deliver
# Caricamento con metadati e screenshot specificati
fastlane deliver --ipa "build/MyApp.ipa" \
--force --submit_for_review
# Anteprima senza caricamento
fastlane deliver --preview
Deliverfile è un file di configurazione Fastlane per memorizzare i metadati dell'applicazione in un formato Ruby strutturato. A differenza della compilazione manuale dei moduli in App Store Connect, Deliverfile consente il versionamento dei metadati in Git e la verifica delle modifiche tramite code review prima della pubblicazione.
# Deliverfile — metadati dell'applicazione
app_identifier("com.company.app")
title("MyApp")
description("Descrizione dell'applicazione per lo store")
keywords("mobile, applicazione, ios, swift")
support_url("https://company.com/support")
marketing_url("https://company.com")
privacy_url("https://company.com/privacy")
# Lingue di localizzazione dei metadati
languages(["en-US", "ru", "de"])
Il parametro languages determina per quali lingue verranno caricati i metadati. È necessario creare una directory separata per ogni lingua nella cartella fastlane/metadata con i corrispondenti file di descrizione, parole chiave e testi di marketing. Deliver supporta fino a 32 lingue App Store contemporaneamente.
Per il caricamento degli screenshot, viene utilizzata la directory screenshots all'interno della cartella Fastlane. Struttura delle cartelle: screenshots/[Language]/[DeviceType]_[ScreenSize]_[Number].png. Deliver carica automaticamente gli screenshot per le lingue e i dispositivi specificati, abbinando le dimensioni ai requisiti Apple. Si consiglia di utilizzare Snapshot per generare screenshot — il loro formato di output è compatibile con Deliver.
Il gruppo di prezzo viene configurato tramite il parametro price_tier, che accetta un numero di livello di prezzo da 0 a 87. I livelli di prezzo Apple vengono automaticamente convertiti nelle valute di tutti i paesi di presenza. Deliver consente di modificare il prezzo nell'ambito di un rilascio, utile per promozioni temporanee o cambiamenti del modello di business dell'applicazione.
L'interfaccia di Deliver include comandi per caricare metadati, file binari, screenshot e rilasci completi. Il comando principale fastlane deliver senza parametri utilizza i dati dal Deliverfile e dalla directory dei metadati per un ciclo di pubblicazione completo.
Il comando fastlane deliver --preview esegue una verifica preliminare dei metadati senza caricare effettivamente su App Store Connect. --force è necessario per il caricamento — senza di esso, Deliver opera in modalità anteprima. Il parametro --skip_binary carica solo metadati e screenshot, saltando il caricamento del file binario — comodo per aggiornare rapidamente i campi ASO senza un nuovo rilascio.
# Rilascio completo con caricamento del binario
fastlane deliver --force --ipa "build/App.ipa"
# Caricare solo metadati senza binario
fastlane deliver --force --skip_binary
# Aggiornare solo screenshot
fastlane deliver --force --skip_metadata
Il parametro --skip_metadata carica solo gli screenshot e il file binario, mantenendo invariati i metadati esistenti. Questo è utile per rilasci hotfix quando è necessario pubblicare rapidamente una correzione senza modificare la descrizione e i campi ASO. La combinazione di flag consente una gestione flessibile di ogni fase di pubblicazione separatamente.
| Comando Deliver | Scopo | Flag |
|---|---|---|
| deliver | Pubblicazione completa con metadati e binario | --force, --ipa |
| deliver --skip_binary | Aggiornare solo metadati e screenshot | --force |
| deliver --skip_metadata | Caricare binario e screenshot senza modifiche ASO | --force, --ipa |
| deliver --preview | Verifica preliminare dei metadati | senza --force |
| deliver --submit_for_review | Invio automatico in moderazione | --force, --ipa |
La pipeline di rilascio con Deliver è un processo CI/CD completo per iOS che automatizza tutte le fasi dal commit alla pubblicazione sull'App Store. Una pipeline tipica include: Match per i certificati, Gym per i build IPA, Snapshot per gli screenshot e Deliver per caricare tutti i dati su App Store Connect con successivo invio in moderazione.
Una caratteristica chiave di Deliver nella pipeline è il supporto per metadata.json, che memorizza i metadati in un formato JSON strutturato. Ciò consente di generare metadati programmaticamente da sistemi CMS esterni o creare automaticamente descrizioni in più lingue tramite un'API di traduzione.
# Pipeline di rilascio in 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
Prima di chiamare Deliver nella pipeline, assicurati che tutti i metadati siano aggiornati: la descrizione corrisponde alla nuova versione, gli screenshot sono aggiornati per le nuove funzionalità e il gruppo di prezzo non necessita di modifiche. Submit for review invia l'applicazione alla moderazione Apple, che dura da 24 a 48 ore per le nuove applicazioni e da 2 a 12 ore per gli aggiornamenti.
Deliver supporta il meccanismo app_version, che consente di specificare la versione target per gli aggiornamenti dei metadati. Se la versione non è specificata, Deliver aggiorna la versione attiva corrente dell'applicazione in App Store Connect. Per rilasciare una nuova versione, è necessario prima creare la versione corrispondente tramite l'interfaccia di App Store Connect o l'API.
Quando si utilizza Deliver, gli sviluppatori incontrano spesso errori di validazione dei metadati, struttura errata dei file degli screenshot e problemi di autenticazione. La diagnostica degli errori in Deliver inizia con l'analisi dei log del comando — Deliver fornisce informazioni dettagliate su ogni fase di caricamento e sui motivi del rifiuto.
L'errore “Invalid screenshot path” si verifica quando la struttura delle cartelle degli screenshot non corrisponde al formato previsto. Soluzione: verifica che i nomi dei file degli screenshot seguano il modello DeviceType_ScreenSize_Number.png (ad esempio AppleiPhone15ProMax_6.7_01.png). Deliver distingue tra maiuscole e minuscole ed è sensibile ai separatori nei nomi dei file.
L'errore “Metadata validation failed” indica che i metadati non soddisfano i requisiti dell'App Store. Soluzione: verifica la lunghezza della descrizione (fino a 4000 caratteri), delle parole chiave (fino a 100 caratteri) e del nome (fino a 30 caratteri). Le linee guida per la revisione dell'App Store contengono i requisiti completi per ogni campo dei metadati — si consiglia di verificarli prima di ogni rilascio.
Con l'errore “Apple ID not found”, l'applicazione non esiste in App Store Connect con l'apple_identifier specificato. Soluzione: crea l'inserimento dell'applicazione in App Store Connect tramite l'interfaccia web prima della prima chiamata di Deliver, specificando il Bundle Identifier e il nome. Deliver non crea nuove applicazioni — aggiorna solo gli inserimenti esistenti nello store.
Domande frequenti
Sì, Deliver supporta il caricamento di applicazioni per iOS, iPadOS, macOS, tvOS e watchOS. Ogni tipo di applicazione richiede la specifica del file IPA corretto compilato per la piattaforma corrispondente. Deliver determina automaticamente la piattaforma dal record dell'applicazione in App Store Connect.
Deliver legge i metadati per ogni lingua dalla directory fastlane/metadata/[lang]. Se non vengono trovati file per una lingua, Deliver utilizza i valori inglesi come fallback. Gli screenshot vengono caricati separatamente per ogni lingua dalla directory screenshots/[lang].
No, non è necessario disattivare l'autenticazione a due fattori. Deliver utilizza la chiave API di App Store Connect per l'autenticazione, che funziona indipendentemente dal 2FA. La chiave API viene generata in App Store Connect e consente di eseguire tutte le operazioni senza conferma interattiva.
Utilizza il comando fastlane deliver --reject, che ritira l'applicazione inviata in moderazione. Questo è possibile solo se la revisione non è ancora iniziata — dopo l'inizio della revisione, l'aggiornamento può essere annullato solo tramite l'interfaccia web di App Store Connect.
Pilot gestisce i build beta in TestFlight: carica binari, li distribuisce ai gruppi di tester. Deliver si occupa della pubblicazione in produzione: carica metadati, screenshot e binari sull'App Store per gli utenti finali. Pilot è per i test beta, Deliver è per il rilascio.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche