Ad Hoc Distribution è un metodo di distribuzione di applicazioni iOS per il test su un numero limitato di dispositivi senza pubblicazione sull'App Store. Ogni dispositivo deve essere registrato nell'Apple Developer Portal con un UDID univoco, con un massimo di 100 dispositivi per account. Secondo la Documentazione Sviluppatori Apple (2025), il metodo viene utilizzato per test beta e dimostrazioni di applicazioni ai clienti senza richiedere la moderazione dell'App Store. La limitazione principale è il vincolo ai dispositivi fisici, che complica la scalabilità dei test.
Punti Chiave
Ad Hoc Distribution è un metodo di distribuzione di applicazioni iOS disponibile per tutti i membri dell'Apple Developer Program ($99/anno). Consente di installare app direttamente sui dispositivi senza passare attraverso la moderazione dell'App Store. Lo scopo principale sono i test pre-rilascio: sviluppatori, tester e clienti possono installare l'app sui propri dispositivi prima del rilascio ufficiale.
Ad Hoc Distribution utilizza un Provisioning Profile che include un elenco di UDID dei dispositivi consentiti. Firmando l'app, Xcode o Fastlane crea un file IPA che può essere installato solo sui dispositivi di questo elenco. Ogni UDID viene aggiunto tramite l'Apple Developer Portal e il totale non può superare i 100 dispositivi per account sviluppatore.
Secondo Apple (2025), Ad Hoc Distribution rimane richiesto per i test pre-rilascio quando l'app non ha ancora superato la moderazione dell'App Store ma deve già essere mostrata a un cliente o testata su dispositivi reali. Tuttavia, Apple consiglia di utilizzare TestFlight per test beta su larga scala, lasciando Ad Hoc per piccoli gruppi e casi speciali.
La distribuzione Ad Hoc funziona tramite installazione OTA (Over-The-Air) o tramite iTunes/Finder. Lo sviluppatore crea un Ad Hoc Provisioning Profile con gli UDID selezionati, firma l'app con questo profilo ed esporta il file IPA. L'utente installa l'app tramite Safari tramite un link o tramite Finder su macOS.
Tecnicamente, la distribuzione Ad Hoc comprende diverse fasi. Innanzitutto, l'amministratore raccoglie gli UDID dei dispositivi di test — ogni UDID è un identificatore univoco di 40 caratteri per un dispositivo iOS. Quindi gli UDID vengono aggiunti all'Apple Developer Portal, viene creato un Provisioning Profile e viene generato un IPA firmato. La validità di un profilo Ad Hoc è di un anno, dopo il quale le app smettono di aprirsi.
# Fastlane — automatizza la distribuzione Ad Hoc
lane :adhoc do
match(type: "adhoc")
gym(scheme: "MyApp",
export_method: "ad-hoc")
pilot(
distribute_only: true,
devices_file: "./devices.txt"
)
end
Per installare un'app Ad Hoc, l'utente deve fidarsi del certificato dello sviluppatore sul proprio dispositivo. Per farlo, nelle impostazioni iOS vai su "Generali" → "VPN e gestione dispositivo" → "Profilo" e tocca "Fidati". Senza questo passaggio, l'app non si avvierà.
UDID (Unique Device Identifier) è un identificatore univoco per ogni dispositivo iOS. Per la distribuzione Ad Hoc, è necessario raccogliere gli UDID di tutti i dispositivi di test e aggiungerli all'Apple Developer Portal. Il massimo è di 100 dispositivi per account sviluppatore all'anno. Questo limite si applica a tutte le app dello sviluppatore, non a ogni singola app.
| Metodo di ottenimento UDID | Difficoltà | Nota |
|---|---|---|
| Tramite Safari | Bassa | Installare un profilo di configurazione per estrarre l'UDID |
| Tramite Xcode | Media | Collegare il dispositivo a un Mac e copiare l'UDID da Xcode |
| Tramite MDM | Alta | La soluzione MDM può raccogliere UDID di dispositivi aziendali |
| Tramite iTunes | Media | Metodo legacy — iTunes non è più supportato sui nuovi macOS |
Il limite di 100 dispositivi viene reimpostato alla fine dell'anno solare — il reset avviene il 1° gennaio. Tuttavia, Apple consiglia di utilizzare TestFlight per test su larga scala, che supporta fino a 10 000 tester esterni. Ad Hoc Distribution dal 2022 rimane rilevante per i casi in cui l'app non ha ancora superato la Beta App Review o quando i test richiedono l'accesso al file IPA originale.
La configurazione di Ad Hoc Distribution viene eseguita tramite l'Apple Developer Portal e Xcode. Il processo include la registrazione dei dispositivi, la creazione di un Provisioning Profile, la firma dell'app e l'esportazione dell'IPA per la distribuzione. Per lo sviluppo in team, si consiglia di utilizzare Fastlane o l'automazione tramite CI/CD.
Per semplificare il processo, vengono utilizzati servizi di distribuzione: Firebase App Distribution, Microsoft App Center o BuddyBuild. Questi servizi gestiscono automaticamente gli UDID, creano profili Ad Hoc e inviano inviti ai tester. Firebase App Distribution si integra anche con pipeline CI/CD tramite Gradle o Fastlane.
Una sfumatura importante — aggiornamento UDID. Se è necessario aggiungere un nuovo dispositivo al profilo, bisognerà ricreare il Provisioning Profile e rifirmare l'app. I dispositivi che hanno già installato l'app continueranno a usarla fino alla scadenza del profilo (1 anno). Dopo di che, è necessaria una reinstallazione con un nuovo profilo.
Ad Hoc Distribution è solo uno dei tre metodi di distribuzione di app iOS senza l'App Store. TestFlight (gratuito, fino a 10 000 tester esterni) ed Enterprise Distribution (senza limite di dispositivi, per app aziendali) risolvono compiti simili con diverse limitazioni e requisiti.
TestFlight è il metodo preferito da Apple per i test beta. Non richiede la raccolta di UDID, supporta fino a 100 tester interni e 10 000 esterni, gestisce automaticamente le versioni e fornisce analisi di installazione. Tuttavia, TestFlight richiede il superamento della Beta App Review per i tester esterni, che può richiedere 1–2 giorni. Ad Hoc Distribution non richiede alcuna moderazione.
Enterprise Distribution è adatta per app aziendali con un numero illimitato di dispositivi, ma richiede l'iscrizione all'Apple Developer Enterprise Program ($299/anno) con un numero D-U-N-S. Ad Hoc è disponibile per tutti i membri del programma standard ($99/anno) e non richiede verifica legale dell'azienda. Per piccoli team e progetti, Ad Hoc rimane il modo più semplice per distribuire senza l'App Store.
Domande Frequenti
Il numero massimo di dispositivi per Ad Hoc Distribution è 100 per account sviluppatore Apple. Il limite è condiviso tra tutte le app dello sviluppatore, non per ogni singola app. Il reset avviene il 1° gennaio di ogni anno. Per testare su un numero maggiore di dispositivi, utilizzare TestFlight o Enterprise Distribution (per app aziendali).
L'UDID del dispositivo può essere ottenuto tramite servizi web come udid.io o install.appcenter.ms. L'utente apre un link in Safari su iOS, installa un profilo di configurazione, dopodiché l'UDID viene visualizzato sullo schermo. In alternativa, l'UDID può essere copiato da Xcode collegando il dispositivo a un Mac: Window → Devices and Simulators → Identifier.
No, Ad Hoc Distribution è destinato solo ai test. Per pubblicare sull'App Store, è necessario creare un App Store Distribution Profile e firmare l'app di conseguenza. Un profilo Ad Hoc non supererà la validazione di App Store Connect. Prima di inviare all'App Store, assicurati di cambiare export method in app-store in Xcode o Fastlane.
Se l'app Ad Hoc non si apre, verifica: che il certificato dello sviluppatore sia fidato sul dispositivo (Impostazioni → Generali → VPN e gestione dispositivo), che il Provisioning Profile non sia scaduto, che l'UDID del dispositivo sia aggiunto al profilo e che l'app sia firmata con il certificato corretto. Se il problema persiste, elimina l'app e reinstallala con un profilo aggiornato.
Un Development Profile è destinato all'esecuzione di app direttamente da Xcode su dispositivi collegati. Un Ad Hoc Profile è per distribuire file IPA installabili su dispositivi senza Xcode. Le principali differenze: Development richiede una connessione a Xcode, mentre Ad Hoc utilizza l'installazione OTA tramite Safari o Finder. Entrambi sono limitati a 100 dispositivi.
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