Terminato lo sviluppo di un'applicazione mobile iOS spesso gli sviluppatori si scontrano con le tematiche inerenti la pubblicazione sullo store o la distribuzione interna per il test dell'applicazione. La gestione dei certificati è un argomento che al primo impatto può sembrare un po' ostico anche per gli addetti ai lavori, in quest'articolo, proveremo a dare qualche informazione di base.
Innanzitutto dobbiamo specificare che la Apple mette a disposizione due programmi detti appunto Apple Developer Program ed Apple Developer Enterprise Program. Il primo è il programma che consente la pubblicazione sullo Store mentre il secondo è quello che permette la distribuzione dell'applicazione all'interno di un'organizzazione.
Per entrambi, il processo parte con la generazione di un certificato. Il certificato è formato da una parte pubblica ed una privata, la parte privata sarà residente sul terminale dell'utente che lo genera. Costui dovrà, tramite l'utility Accesso Portachiavi presente su OS X, richiedere un certificato da un'autorità di certificazione. Di fatto verrà generata la componente privata del certificato, ossia la chiave, ed un Certificate Signing Request (CSR).
Tramite quest'ultimo sarà possibile creare il certificato sul programma Apple il quale genererà la parte pubblica. Una volta effettuata la generazione ed il download sarà possibile installarla sul proprio PC in modo da completare il certificato.
A questo punto dovremmo generare un App ID, l'identificativo univoco della nostra applicazione. Per poter esportare un IPA, il pacchetto installabile dell'applicazione iOS, dovremmo generare anche un Provisioning Profile dove è necessario specificare il certificato e l'App ID per cui lo si richiede. Quest'ultimo, installato sul proprio PC, consente di esportare l'IPA.
I certificati possono essere di sviluppo o di produzione. Con il certificato di sviluppo è possibile lanciare l'applicazione in Debug su un device connesso al proprio PC. Inoltre è importante specificare che con il certificato di sviluppo, per poter installare l'applicazione su un device fisico, questo deve essere stato censito sul programma e deve essere aggiunto in fase di generazione del Provisioning Profile.
Con il certificato pubblico è possibile effettuare la distribuzione dell'applicazione. Con il programma standard è possibile effettuare oltre alla submission sullo Store, la distribuzione Ad-Hoc. Anche in questo caso, per poter installare l'Applicazione sui propri device è necessario che quest'ultimi siano stati censiti. Con il programma Enterprise è possibile anche creare un certificato per la distribuzione In-House. Quest'ultima ha il vantaggio di consentire la distribuzione anche sui device non censiti, magari per il test interno.
Il mondo Apple dei certificati è molto più vasto di quanto descritto nel presente articolo ed esistono svariati altri scenari oltre a questi analizzati. Xcode, l'IDE di sviluppo Apple per le applicazioni mobile, cerca di automatizzare alcune fasi ma è sempre buona norma comprendere ciò che avviene dietro le quinte.