Creazione dell’app build di un’app iOS

NB: NON OFFRIAMO SUPPORTO TECNICO PER PUBBLICAZIONE SU IOS

In questo articolo vedremo come creare l’app build di un’app iOS; processo necessario per la pubblicazione di un’app iOS sull’App Store di Apple.

In pratica verrà spiegato passo dopo passo come compilare il codice sorgente dell’app e renderlo caricabile sull’App Store di Apple.

Da sapere prima della pubblicazione

Xcode e MacOS

Per pubblicare un’app per iOS è necessario un computer Mac perché è necessario utilizzare il software Xcode. In realtà si può fare senza un computer Mac emulando Mac OS su Windows.
Maggiori info: https://www.udemy.com/blog/xcode-on-windows/

I certificati

Abbiamo bisogno di 4 file, un file che firmerà i certificati e 3 certificati. Il file che firma i certificati e uno dei 3 certificati vengono utilizzati per tutte le app pubblicate in un unico account sviluppatore mentre gli altri due certificati devono essere creati ogni volta che pubblicherai una nuova app. 


I 2 certificati che vengono utilizzati per tutte le app pubblicate:
Questi 2 file verranno creati una volta (solo la prima volta che si pubblicherà sotto questo account sviluppatore). È il CertSigningRequest (CSR) e il certificato di distribuzione iOS (iOS_Distribution). Il CSR viene creato dal tuo computer attraverso keychain access mentre iOS_Distribution viene creato dal Member Center su developer.apple.com
Questi due elementi devono essere memorizzati nella cartella dei certificati principali per questo account sviluppatore sul tuo computer (sarà meglio in termini di organizzazione, se vuoi pubblicare altre app con questo account). Quindi, se consideriamo questo esempio, per il cliente chiamato “John Doe” che ha il proprio account sviluppatore, sul tuo computer ci saranno queste cartelle con questa organizzazione:

  • App IOS
    • John Doe
      • I certificati -> CSR e iOS_Distribution per l’account John Doe devono essere salvati qui dopo averli creati
      • John Doe app 1
        • certificati
        • Screenshots

Questi certificati CSR e iOS_Distribution verranno utilizzati per tutte le app che pubblicherà John Doe col proprio account sviluppatore Apple. Verranno creati una volta e si useranno ogni volta che Jhon Doe pubblicherà un’app con il suo account. 

Gli altri due certificati sono il certificato dei servizi push di Apple e il provisioning profile. Dovrai crearli per ogni app. Li dovrai salvare nella cartella dei certificati che si trova nella cartella dell’app. Pertanto, se consideriamo l’esempio precedente, per il cliente denominato “John Doe” che ha il proprio account sviluppatore:

  • App IOS
    • John Doe
      • certificati
      • John Doe 1st app
        • Certificati -> Il certificato dei servizi push Apple e il provisioning file per l’app John Doe 1st devono essere salvati qui dopo averli creati
        • Screenshots

Per creare gli screenshot

Avrai bisogno di alcuni screenshot per compilare la scheda dell’app su App Store. Sarai in grado di crearli con Xcode e soprattutto con il simulatore iOS fornito con Xcode. Apri il progetto Xcode che si trova nella cartella ios_source, quindi scegli il target, ad esempio iPhone 8 Plus, e fai clic sul pulsante Play.


Fai alcuni screenshot dell’app per il dispositivo scelto usando CMD + S sulla tua tastiera, e fallo per ogni dispositivo per il quale vuoi gli screenshots. Prima di passare da un disposistivo a un altro, non dimenticare di fare clic sul pulsante “stop” in Xcode.

Istruzioni per compilare il file sorgente di un’app per iOS

Devi creare un file CSR e un certificato di distribuzione iOS. E sarai in grado di utilizzare questi elementi per tutte le prossime app che dovrai pubblicare sotto questo account sviluppatore -> conservale preziosamente una volta creato.

Il file CSR

Deve essere creato dallo strumento di accesso keychain del tuo Mac. Aprilo da Applicazioni> Utilità> Accesso Portachiavi:

Dal menu selezionare “Accesso portachiavi”> “Certificate Assistant”> “Richiedi un certificato da un’autorità di certificazione”:

Nella finestra che si apre, inserisci l’email dell’account sviluppatore (o qualsiasi altro indirizzo email, non ha alcun impatto), inserisci il nome del tuo account sviluppatore e seleziona “Salva su disco”:

Salva questo CSR sul tuo disco, in una cartella relativa ai certificati del tuo account sviluppatore.

Chiudi la finestra.

Il certificato di distribuzione iOs

– vai su https://developer.apple.com/membercenter/index.action

– Clicca su “Certificates, Identifiers & Profiles”

– Clicca su production

– Clicca su in alto a destra

– Scegli “App Store and Ad Hoc” e continua:

– Clicca “Continua”

– Firma il certificato con il csr che hai creato prima

– Scarica il certificato che viene creato.

– Doppio click sul certificato per aggiungerlo al kaychain.

Il certificato dei servizi push Apple

Grazie a questo certificato sarai in grado di aggiungere notifiche push, acquisti in-app e altri servizi alla tua app. Nel nostro caso, ci interessa solo il servizio di notifica push.

– Fai clic su “ID app” dal menu “Identificatori” a sinistra:

– Clicca su  dalla parte superiore destra

– Inserisci il nome dell’app e l’ID bundle dell’app:

– Vai sotto e seleziona “Notifiche push” nell’elenco “Servizi app”:

– Clicca su “Continua”

– Clicca su “Registrati” e clicca su “Fatto”

– Quindi nell’elenco, trova l’ID app appena creato e fai clic su “Modifica”

– Vai in fondo e in Notifiche push, nella sezione “Certificato SSL di produzione” fai clic su “Crea certificato”

– Clicca su “Continua”

– Fai clic su “Scegli file” e carica il file CSR che hai creato prima per questo account sviluppatore (lo stesso CSR che hai utilizzato per creare il certificato di distribuzione iOS per questo account sviluppatore)

– Scarica il certificato dei servizi push di Apple (aps.cer) appena creato. Conserva questo certificato in una cartella relativa a questa app sul tuo Mac.

– Clicca su “Fatto”

-Fai doppio clic sul certificato Apple Push Services (aps.cer) per aggiungerlo all’accesso Portachiavi.

Il profilo Provisioning

– fai clic su “Distribuzione” da “Profili di provisioning” nel menu a sinistra:

– Clicca su  dalla parte superiore destra

– Scegli “App Store” sotto “Distribuzione”:

– Seleziona l’ID app della tua app e fai clic su “Continua”

– Seleziona il certificato di distribuzione iOS associato al CSR che hai utilizzato per firmare il certificato dei servizi push di Apple che hai creato poco prima (è molto importante utilizzare la distribuzione iOS che è stata creata con il CSR utilizzato per firmare l’aps.cer di questa app. Non dimenticare che se crei un nuovo aps.cer per questa app con un altro CSR dovrai creare anche un nuovo profilo di provisioning con il certificato di distribuzione iOS realizzato con questo CSR, e quindi per pubblicare un aggiornamento della tua app sull’App Store)

– Clicca su “Continua”

– Assegna un nome al profilo di provisioning e clicca su “Continua”

– Scarica il profilo di provisioning appena creato. Conserva questo certificato nella cartella relativa a questa app sul tuo Mac e che contiene il certificato dei servizi push Apple creato poco prima.

Compilare l’app

– Scarica il tuo codice sorgente iOS

– Decomprimere la cartella e aprire il file .xcworkspace facendo doppio clic su di esso

– Segui questo video:

iOS compilation in Xcode from SiberianCMS on Vimeo.

Nota: è necessario prima creare l’app su App Store Connect prima di inviare la build con Xcode (passaggio 1> 3 di questa documentazione ).

Creazione del certificato .pem

– Entra nell’Accesso Portachiavi sul tuo Mac

– Dal menu a sinistra, seleziona “Certificati”

– Nella barra di ricerca in alto a destra, inserisci l’ID bundle della tua app

– Fare clic sulla freccia a sinistra del certificato “Servizi Apple Push”, una chiave privata deve essere allegata al di sotto di essa

– Seleziona la chiave privata e il certificato

– Fai clic con il pulsante destro su di essi

– Seleziona “Esporta 2 elementi …”

– Scegli il tuo desktop come destinazione (può essere un’altra posizione, ma dovrai modificare il codice che ti daremo dopo)

– Scegli una password personale

– Apri la console del terminale del tuo Mac (da Applicazioni> Utility> Terminale)

– Nel Terminale, assicurati di trovarti sul desktop (devi avere “Desktop” visualizzato e quindi il tuo nome utente)

– Inserisci questo comando:

“Openssl pkcs12 -in Certificates.p12 -out certificat.pem -nodes -clcerts”

(Se il terminale risponde che non esiste un file denominato “Certificates.p12”, andare sul desktop e controllare qual è il nome di questo certificato .p12, e inserire questo nome piuttosto che Certificates.p12 nella riga di comando)

– Inserisci la password che hai usato poco prima per esportare il certificato sul desktop

– Sul tuo desktop hai ora due certificati: un Certificates.p12 e un certificat.pem.

– Sposta questi file nella cartella della tua app sul tuo Mac (con il profilo di provisioning e l’aps.cer)

– Carica questo certificat.pem sul foglio delle app nel tuo backoffice

Hai finito!

Maggiori informazioni sulle notifiche push.

Per inviare notifiche push devi scegliere:

  1. puoi inviare a ios e android in questo caso ci deve essere il certificato .pem e lo stato su entrambi pubblicati.
  2. puoi inviare solo su Android, non ci devono essere certificati .pem e lo stato di ios deve essere in “attesa”.

Nei casi 1 e 2 devi creare un certificato .pem.

Prima di continuare a guardare la creazione del certificato .pem, facciamo un breve chiarimento sul caso 2. Nel caso 2 non ci deve essere assolutamente alcun certificato per ios, se ne hai già caricato uno rimuovilo sia dai tuoi file che dal tuo database. Per rimuovere il certificato .pem che hai già caricato, vai prima nel tuo database, nella tabella “push_certificate”, cerca la riga in questa tabella con l'”ID app” dell’app per cui vuoi rimuovere il certificato .pem . Otterrai il nome del certificato .pem, sarà qualcosa come “cert_55c311wqce5e2.pem”. Copia questo nome del file. Elimina questa riga nel database (assicurati di non rimuovere la tabella! Solo la riga che contiene questo certificato .pem relativo all’app). Quindi vai nei tuoi file con il tuo file manager o con Filezilla, vai in var / apps / iphone e controlla il certificato .pem che hai appena copiato. Elimina il file. Hai fatto.

Continuiamo a guardare la creazione del certificato .pem.

  1. Tutti i certificati sono collegati tra loro, pertanto il certificato dei servizi push di Apple deve essere firmato con il CSR utilizzato per creare il certificato di distribuzione iOS utilizzato per creare il profilo di provisioning. Ciò significa che se cambi uno di questi elementi, la tua app non sarà in grado di inviare push. Ad esempio, se hai già creato un certificato .pem e desideri crearlo nuovamente, se lo firmi con un altro CSR diverso da quello utilizzato per creare il certificato di distribuzione iOS utilizzato per creare il profilo di provisioning di questa app, dovrai modificare anche il profilo di provisioning e collegarlo alla giusta distribuzione di iOS (quella creata con la CSR che stai utilizzando), quindi dovrai inviare un aggiornamento della tua app all’App Store e attendere che Apple abbia accettato la tua app.
  2. Il tuo certificato .pem deve essere ben creato e contenere 4 sezioni:

– friendlyName: Apple Push Services

– friendlyName: iPhone Distribution

– E poi due sezioni relative alle chiavi con “Attributi chiave: <Nessun attributo>”

Se il tuo .pem non contiene queste sezioni significa che hai perso qualcosa e che non funzionerà.

Una volta completata la creazione dell’app build è possibile procedere con la pubblicazione sull’App Store. La guida su come pubblicare un’app sull’App Store è disponibile qui.


Recommended Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Postando un commento accetti la Privacy Policy