Xcode
Certificati, profili di provisioning e firma del codice
Ricerca…
Scegli il giusto approccio per la firma del codice
Se stai appena iniziando un nuovo progetto, è importante pensare a come vuoi gestire la firma del codice.
Se sei nuovo alla firma del codice, controlla la sessione WWDC che descrive i fondamenti della firma del codice in Xcode.
Per firmare in modo appropriato la tua app, devi avere le seguenti risorse sul tuo computer locale:
- La chiave privata (file
.p12
) - Il certificato (file
.cer
), corrispondente alla chiave privata - Il profilo di provisioning (file
.mobileprovision
), corrispondente al certificato e alla chiave privata installati localmente
Sul portale degli sviluppatori Apple è inoltre richiesto un ID app valido associato al profilo di provisioning.
Usando la funzionalità di firma del codice di Xcode
Occasionalmente, l'impostazione Automatic
come profilo di provisioning non funziona in modo affidabile poiché selezionerà semplicemente il profilo di provisioning aggiornato più recente, indipendentemente dal fatto che il certificato sia installato.
Ecco perché è consigliabile specificare in qualche modo un profilo di provisioning specifico:
Xcode 7 e versioni precedenti
Evitare di fare clic sul pulsante Fix Issue
(C'è un plug-in Xcode che disabilita il pulsante), poiché a volte revoca i certificati esistenti e con esso i profili di provisioning.
Purtroppo non è possibile specificare il nome del profilo di provisioning in Xcode 7. Invece è possibile specificare l'UUID del profilo, che cambia ogni volta che il profilo viene rigenerato (ad esempio quando si aggiunge un nuovo dispositivo).
Per ovviare a questo problema, consulta XcodeProject.md su come passare un profilo di provisioning su Xcode durante la creazione della tua app.
Xcode 8 e versioni successive
Apple ha migliorato la firma del codice molto con il rilascio di Xcode 8, il seguente è cambiato:
- Non c'è più il pulsante
Fix Issue
, invece tutti i processi di firma del codice vengono eseguiti in background e mostrano il log direttamente in Xcode - È ora possibile specificare il profilo di provisioning in base al nome, anziché all'UUID ( consultare XcodeProject.md per ulteriori informazioni)
- Messaggi di errore migliorati quando qualcosa va storto. Se si verificano errori di firma del codice, provare sempre a creare e firmare con Xcode per ottenere informazioni più dettagliate sull'errore. (Consultare Risoluzione dei problemi. Per ulteriori informazioni)
manualmente
Puoi sempre creare e gestire manualmente i tuoi certificati e i profili di provisioning utilizzando il Portale per gli sviluppatori Apple. Assicurati di conservare la chiave privata ( .p12
) dei tuoi certificati in un posto sicuro, in quanto non possono essere ripristinati se li perdi.
È sempre possibile scaricare il certificato ( .cer
) e il profilo di provisioning ( .mobileprovision
) dal portale per sviluppatori Apple.
Se revochi il certificato o scade, tutti i profili di provisioning associati non saranno validi.
Usando la partita fastlane
Il concetto di corrispondenza è descritto nella guida di codesign ed è l'approccio di firma del codice consigliato se si utilizza fastlane
Con la corrispondenza si memorizzano le chiavi private e i certificati in un repository git per sincronizzarli su macchine. Ciò semplifica l'integrazione di nuovi membri del team e la creazione di nuove macchine Mac. Questo approccio è sicuro e utilizza la tecnologia che già usi.
Per iniziare con la partita è necessario revocare i certificati esistenti.