
Distribuire app interne proprietarie ai dispositivi Apple
I dispositivi Apple supportano l’installazione tramite wireless delle app in-house proprietarie senza utilizzare un Mac o navigare sull’App Store. Prima di poter distribuire le app, devi disporre di un profilo di provisioning. I profili di provisioning possono essere installati e gestiti tramite una soluzione MDM e quindi scaricati e installati dagli utenti utilizzando la MDM o tramite un aggiornamento app. Prima che il profilo di provisioning scada, vai sul sito web Apple Developer per creare un nuovo profilo per l’app. Per un’app iOS o iPadOS, 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.
Puoi distribuire le app interne proprietarie nei due seguenti modi:
Tramite la MDM
Tramite un sito web
Entrambi i metodi richiedono la preparazione dell’app per la distribuzione, che include la preparazione di un file manifest.
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.
App interne proprietarie gestite per Mac
Sebbene sia possibile installare come gestite tutte le app acquistate a volume e le app personalizzate, è possibile gestire solo alcune app in-house proprietarie. Per essere gestibile il pacchetto di app:
Non deve contenere alcun pacchetto nidificato.
Deve contenere solo una singola app.
Deve essere installato in /Applicazioni.
Per essere considerate gestite, le app devono rimanere nella cartella /Applicazioni.
Usare MDM per distribuire le app
Per utilizzare MDM, usa un manifest con i comandi InstallEnterpriseApplication
(file manifest o manifest incorporato) o InstallApplication
(file manifest). Privilegia l’utilizzo del comando InstallEnterpriseApplication
perché supporta sha256 e il pinning dei certificati. Per ulteriori informazioni, consulta Comandi MDM.
Usare un sito web per distribuire le app
Per l’installazione di app wireless, le app iOS e iPadOS devono soddisfare i seguenti requisiti:
Le app devono essere in formato .ipa, e progettate con un profilo di provisioning in-house.
Deve disporre di un file manifest 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 il pacchetto, gli utenti scaricano il file manifest dal tuo 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://theacmeinc.com/manifest.plist">Installa 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 Web clip 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 una soluzione MDM.
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à.
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.
Fornire app interne proprietarie aggiornate
Le app distribuite direttamente dalla tua azienda 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.
Prima che il profilo di fornitura scada, crea un nuovo profilo per l’app tramite il sito web per sviluppatori di iOS o il sito web per sviluppatori di iPadOS. 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ù.
Se scade il certificato di distribuzione, l’app non verrà avviata e devi riprogettare l’app con un nuovo certificato di distribuzione. 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.
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 e controllando 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.