
Distribuire app interne proprietarie ai dispositivi Apple
I dispositivi Apple supportano l’installazione wireless delle app interne proprietarie senza dover utilizzare un Mac o andare sull’App Store tramite l’Apple Enterprise Developer Program. L’Apple Developer Enterprise Program è destinato esclusivamente all’uso e alla distribuzione di tipo interno di app proprietarie in specifici casi d’uso che non possono essere adeguatamente gestiti tramite le app pubblicamente disponibili su App Store, le app personalizzate tramite Apple School Manager o Apple Business Manager, la distribuzione ad hoc o i test beta tramite TestFlight.
Per ulteriori informazioni, consulta il sito dell’Apple Developer Enterprise Program.
Profilo di provisioning
Prima di poter distribuire app proprietarie interne su iPhone, iPad, Apple TV, Apple Vision Pro e Apple Watch, occorre avere un profilo di provisioning. Puoi installare e gestire i profili di fornitura tramite un servizio di gestione dei dispositivi e quindi gli utenti possono scaricarli e installarli tramite tale servizio o tramite un aggiornamento app.
Prima che il profilo di fornitura scada, crea un nuovo profilo per l’app tramite i siti web per aziende di sviluppo iOS, iPadOS o visionOS. Esporta un nuovo pacchetto dell’app (un file .ipa) con il nuovo profilo di provisioning per gli utenti che installano l’app per la prima volta.
Se gli utenti hanno già l’app, è consigliabile programmare la versione successiva in modo tale che includa il nuovo profilo di fornitura. In questo modo l’utente non verrà interrotto durante l’utilizzo della tua app. Altrimenti, puoi distribuire solo il nuovo file .mobileprovision, così che gli utenti non debbano installare nuovamente l’app. Il nuovo profilo di provisioning sovrascriverà quello già esistente nell’archivio dell’app.
I profili di provisioning per la distribuzione scadono 12 mesi dopo l’emissione. Dopo la scadenza, il profilo viene rimosso e l’app non si aprirà più.
Provisioning e gestione degli utenti per lo sviluppo di app interne proprietarie
Le aziende di sviluppo di app interne proprietarie hanno accesso alle API Apple per il provisioning e la gestione degli utenti, in modo che possano automatizzare attività quali il provisioning della generazione dei profili e l’integrazione della gestione utenti nei flussi di lavoro esistenti.
Per ulteriori informazioni, consulta Enterprise Program API sul sito web Apple Developer.
Puoi distribuire le app interne proprietarie nei due seguenti modi:
Utilizzare un servizio di gestione dispositivo
Tramite un sito web
Entrambi i metodi richiedono la preparazione dell’app per la distribuzione, che include la preparazione di un file manifest.
Importante: Per i dispositivi con iOS 18 e iPadOS 18 o versioni successive, le app interne proprietarie che installi manualmente (senza utilizzare un servizio di gestione dei dispositivi) richiedono il riavvio del dispositivo per completare la procedura di autorizzazione del profilo di provisioning.
Preparare un’app in-house proprietaria per la distribuzione in modalità wireless
Per preparare l’app proprietaria in-house per la distribuzione wireless, costruisci una versione archiviata (un file .ipa) e un file manifest che abilita la distribuzione wireless e l’installazione dell’app. Utilizza Xcode per creare una versione dell’app, quindi esportala per la distribuzione all’interno dell’organizzazione. Xcode utilizza il certificato di distribuzione e include il profilo di provisioning appropriato. Il file manifest è un elenco di proprietà XML (un file .plist) utilizzato dai dispositivi Apple per cercare, scaricare e installare le app dal tuo server web. Il file manifest viene creato da Xcode utilizzando le informazioni da te fornite quando condividi un’app archiviata per la distribuzione all’interno di un’organizzazione. Per visualizzare un elenco di attributi e di valori associati, consulta Install Application command sul sito web Apple Developer.
Utilizzare un servizio di gestione dei dispositivi per distribuire l’app
Per utilizzare un servizio di gestione dei dispositivi, è necessario usare il file manifest preparato tramite uno dei metodi di seguito:
Gestione dichiarativa delle app disponibile su iOS 17.2, iPadOS 17.2, visionOS 1.1 o versioni successive.
Il comando
InstallEnterpriseApplication(file manifest o manifesto integrato).Il comando
InstallApplication(file manifest)
Usare un sito web per distribuire le app
Per l’installazione wireless delle app, le app iOS, iPadOS e visionOS devono soddisfare i seguenti requisiti:
Le app devono essere in formato .ipa, e progettate con un profilo di provisioning in-house.
Devono avere un file manifesto XML.
Deve essere stata scaricata da un sito web il cui indirizzo inizi con HTTPS.
Deve essere firmata con un certificato ritenuto attendibile sul dispositivo.
La sua configurazione di rete deve consentire ai dispositivi di accedere a un server Apple. Per ulteriori informazioni, consulta l’articolo del Supporto Apple Utilizzare i prodotti Apple su reti aziendali.
Per installare l’app, gli utenti scaricano il file manifest dall’apposito sito web utilizzando lo speciale prefisso URL. Puoi distribuire l’URL per scaricare il file manifest tramite iMessage o tramite messaggio email. Ecco un esempio del link con il prefisso aggiunto:
<a href="itms-services://?action=download-manifest&url=https://betterbag.com/manifest.plist">Installa l’app</a>
Dovrai anche prevedere la progettazione e l’hosting del sito web utilizzato per la distribuzione di questo tipo di app. Assicurati che gli utenti vengano autenticati e che il sito sia accessibile dalla intranet aziendale o via internet, a seconda delle tue necessità. Il sito può essere anche solo una pagina web con un collegamento al file manifest. Quando un utente tocca il link web, il file manifest viene scaricato e questo attiva il download e l’installazione di ciò che descrive la pagina web.
Accertati di seguire queste linee giuda aggiuntive:
Non aggiungere un link web direttamente all’app archiviata (.ipa). Il file .ipa viene scaricato dal dispositivo durante il caricamento del file manifest. Anche se la porzione protocollo dell’URL è “itms-services”, App Store non viene coinvolto nel processo.
Assicurati che il file .ipa sia accessibile tramite HTTPS e che il sito sia firmato con un certificato considerato attendibile da iOS e iPadOS. Se un certificato autofirmato non ha un riferimento attendibile e non può essere convalidato dal dispositivo, l’installazione non andrà a buon fine.
Carica questi elementi nell’area del sito web a cui possono accedere gli utenti autenticati:
Il file manifest (con un’estensione del nome del file .plist)
Il file dell’app (con un’estensione del nome del file .ipa)
Devi configurare il server web in modo che il file manifest e il file dell’app vengano trasmessi correttamente. Per il server, aggiungi i tipi MIME alle impostazioni dei tipi MIME del servizio web:
application/octet-stream ipa
text/xml plist
Per IIS (Internet Information Server) di Microsoft, utilizza “IIS Manager” per aggiungere i tipi MIME nella pagina delle proprietà del server:
.ipa application/octet-stream
.plist text/xml
Nota: se crei un portale self-service, puoi aggiungere un clip web alla schermata Home dell’utente, che in questo modo potrà accedervi facilmente per trovare informazioni, come ad esempio nuovi profili di configurazione, app di App Store consigliate e potrà registrarsi a un servizio di gestione dei dispositivi mobili.
Convalida del certificato
La prima volta che un utente apre un’app, il certificato di distribuzione viene convalidato contattando il server OCSP di Apple. Se il certificato è stato revocato, l’app non si avvierà. Per verificare lo stato, il dispositivo deve poter raggiungere ocsp.apple.com.
La risposta OCSP viene archiviata nella cache del dispositivo per un periodo di tempo specificato dal server OCSP; attualmente questo periodo va da 3 a 7 giorni. La validità del certificato non viene controllata di nuovo fino al riavvio del dispositivo e alla scadenza della risposta archiviata. Se a quel punto si riceve una revoca, l’app non si avvierà.
Il certificato di distribuzione è valido per tre anni dalla data di emissione oppure fino allo scadere della tua iscrizione al programma Apple Developer Enterprise Program, a seconda dell’evento che si verifica prima. Per evitare che il certificato scada, assicurati di rinnovare per tempo l’iscrizione al programma.
Puoi avere contemporaneamente due certificati di distribuzione attivi, l’uno indipendente dall’altro. Il secondo certificato fornisce un periodo di sovrapposizione durante il quale puoi aggiornare le app, prima della scadenza del primo certificato. Quando richiedi il secondo certificato di distribuzione, assicurati di non revocare il primo certificato.
ATTENZIONE: la revoca di un certificato di distribuzione invaliderà tutte le app firmate con tale certificato. Dovresti revocare un certificato solo come ultima risorsa, ad esempio se hai la certezza di aver perso la chiave privata o se credi che il certificato sia stato danneggiato.
Aggiornare manualmente le app interne proprietarie
Per le app interne proprietarie distribuite tramite un servizio di gestione dei dispositivi, è possibile utilizzare il meccanismo delle app gestite per aggiornare un’app.
Se sono state scaricate manualmente, le app non vengono aggiornate automaticamente. Quando è disponibile una nuova versione, informa gli utenti dell’aggiornamento e istruiscili su come installare l’app. Potresti anche configurare l’app in modo che verifichi se sono disponibili aggiornamenti e informi l’utente quando apre l’app. Assicurati che la notifica fornisca il link itms-services. Per installare l’app, puoi anche utilizzare openURL dall’interno dell’app.
Se vuoi che gli utenti mantengano i dati dell’app archiviati sul loro dispositivo, assicurati che la nuova versione utilizzi lo stesso bundle-identifier della versione da sostituire e chiedi agli utenti di non eliminare la vecchia versione prima di installare quella nuova.
Risoluzione dei problemi relativi alla distribuzione wireless delle app
Se la distribuzione wireless dell’app non riesce e compare un messaggio del tipo “impossibile eseguire il download”, controlla quanto segue.
Verifica che l’app sia firmata correttamente. Prova l’app installandola su un dispositivo tramite Apple Configurator per il Mac e controlla se si verificano errori.
Assicurati che il link al file manifest sia corretto e che gli utenti possano accedere al file via web.
Assicurati che l’URL del file.ipa (nel file manifest) sia corretto e che gli utenti possano accedervi via web via HTTPS.