Passo importante dopo l’acquisto della nostra licenza Developer (visto nel procedente articolo ) è la creazione dei certificati.
Grazie ad essi potremo infatti “montare” l’applicazione sul nostro Iphone, condividerla con altri amici ( fino ad un massimo di 100 ) ed inviarla ad Apple per la validazione ( procedura che vedremo nei successivi articoli ).
Partiamo subito con la nostra guida…si tratta di diverse operazioni, un po’ lunghe ma abbastanza semplici.
Creiamo innanzitutto il Certificate Signing Request (CSR). Sul nostro MAC apriamo nella cartella Applicazioni -> Utility l’applicazione Accesso Portachiavi.
Nel menu selezioniamo Assistente Certificato -> Richiedi un Certficato ad un’Autorità di Certificazione. Si aprirà la finestra seguente:
Inserite quindi la vostra e-mail, nome e cognome e selezionate l’opzione “Registrato su Disco” e “Lascia che sia io a specificare le informazioni coppia di chiave”.
Clicchiamo quindi su Continua.
Nella schermata successiva selezioniamo come Key Size 2048 bits ed Algoritmo RSA ( dovrebbero già essere valori di default ). La nostra chiave verrà quindi creata sulla Scrivania.
Accediamo quindi alla pagina iPhone Developer Program ed inseriamo il nostro UDID ( codice di 40 cifre che identifica in modo univoco il nostro dispositivo ) nel menu Devices. Per individuare l’UDID accediamo all’SDK con il nostro dispositivo connesso, Menu Windows -> Organizer e nella finestra che apparirà selezioniamo nel menù Devices il nostro dispositivo, visualizzeremo così il nostro UDID.
Effettuiamo un copia della stringa e ritorniamo alla pagine iPhone Developer, clicchiamo quindi su Add Devices ed inseriamo un nome identificativo ( per ricordare a chi appartiene quell’UDID ) e copiamo la stringa precedente. Possiamo quindi ora aggiungere il dispositivo.
Creiamo ora il nostro certificato Developer e quello Distribution. Nel menù Certificates ( Home Page iPhone Developer ) accediamo alla pagina Development ( menù a destra ) e clicchiamo sul tasto Add Certificate.
Nella pagina che apparirà “uploadiamo” il file CSR precedentemente creato ( scegliendolo dalla nostra scrivania ) e clicchiamo su Submit. Procediamo in egual modo per il certificato di Distribuzione.
Ritornando ora alla voce Development e sarà quindi possibile effettuare il download del certificato appena creato grazie al CSR precedentemente “uploadato”. Salviamo quindi sul Desktop entrambi i certificati ( sia quello Development che quello Distribution ).
Una volta salvati sul desktop installiamoli con un doppio click ( apparirano nella lista dei certificati dell’Accesso Portachiavi ).
Creaimo ora un AppIDs accedendo quindi al menu App IDs sulla home della nostra iPhone Developer Program. AppIDs permette di identificare in modo univoco la nostra applicazione ed è necessario per eventualmente implementare l’inApp Purchase e le notifiche Push .
Clicchiamo quindi su Add New App ID ed accediamo alla pagina successiva. Compiliamo quindi i campi richiesti
- Description -> inseriamo una descrizione che ci permetta di indetificare la nostra AppID
- Bundle Seed ID settiamolo su Generate New
- Bundle Identifier. Quello consigliato da Appe è com.domainname.appname
Quindi se disponiamo di un sito internet chiamato www.mionome.it possiamo inserire il seguente it.mionome.nomeapplicazione in modo da avere una Bundle Identifier univoca.
Clicchiamo infine su Submit.
Siamo giunti quindi alla creazione del Provisioning Profile. Questo profilo è un insieme di diverse entità ( Certificato, Devices ed App IDs ) che ci consente di Distribuire il nostro prodotto ( quello che ci consente quindi di caricare l’applicazione sul nostro mobile e di inviarla poi alla Apple ).
Non perdiamo altro tempo….solita home ed accediamo alla voce Provisioning -> New Profile ( in alto a destra ).
Inseriamo il nome del nostro profilo (es. nomeapp_development ), selezioniamo il nostro certificato e nella lista AppID selezioniamo quella creata in precedenza e nei Devices selezioniamo il nostro dispositivo. Clicchiamo quindi su Submit. Ritorniamo quindi alla voce Provisioning -> Development e potremmo effettuare il download del nostro certificato ( in alcuni casi subito dopo il Submit non vedremo subito il tasto download e basterà ricliccare sulla voce Development per permettere il ricaricamento della pagina ).
Andiamo quindi in Provisiong –> Distribution -> New Profile
In Distribution Method troveremo due voci : Ad Hoc ed App Store.
Come è facile intuire la prima ci permette di fare una distribuzione ad Hoc ( quindi per i vari dispositivi che avremmo aggiunto nella voce Devices e per permettere quindi il caricamento della nostra app sui dispositivi dei nostri amici, per esempio ) mentre la voce App Store ci consente di impacchettare la nostra applicazione per inviarla ad Apple.
Inseriamo un profile Name ( es. nome applicazione_distribution ) e selezioniamo la nostra App ID. Clicchiamo quindi su Submit ed effettuiamo il download come prima.
Troveremo quindi sul nostro desktop due certificati.
Trasciniamo questi due certificati sulla nostra icona Xcode e verranno installati all’interno dell’ambiente di programmazione. Per verificarlo andremo in Xcode -> Window -> Organizer -> e sulla sinsistra Provisiong Profiles e nella tabella in alto vedremo installati i nostri profili.
Una volta fatta questa ultima operazione passiamo al nostro progetto in Xcode.
Apriamo quindi il nostro progetto. Sul nome del Progetto ( quello in alto in celeste ) clicchiamo con il tasto destro e selezioniamo Get Info.
Alla voce Configurations duplichiamo la voce Release ( con il tasto Duplicate in basso ) e rinominiamola in Distribution.
Andiamo quindi nel menu Build. In Configuration selezioniamo la voce Distribution e nella lista in basso alla voce Code Signing Identity -> Any iPhone OS Device selezioniamo il Profile Importato in precedenza ( che dovrebbe essere nomeapplicazione_distribution ) e chiudiamo quindi questa finestra.
Dal nostro progetto in Groups e Files ( la lista di file che compongono il nostro progetto insomma ) andiamo in Targets e selezioniamo l’unico file presente e con il tastro destro selezioniamo la voce Get Info.
Si aprirà una finestra come quella precedente ed effettuiamo la stessa operazione ( voce Build in Configurations selezioniamo Distribution ed in basso,in Any Iphone OS Device, il nostro Profiling di Distribuzione).
Accediamo quindi alla voce Properties ed in Identifier inseriamo App IDs creato ( se come suggerito in precedenza, dovrebbe essere it.nomesitoweb.nomeapplicazione, ovviamente inserendo i nomi reali che avete inserito nella iPhone Developer in fase di creazione dell’App IDs.).
Chiudiamo quindi questra finestra e nel menu Overview del nostro progetto selezioniamo la voce Distribution e procediamo al Build del nostro progetto.
Se tutto è andato correttamente e senza errori accediamo in Groups & Files alla cartella Products e noteremo il file nomeprogetto.app . Clicchiamo quindi con il tasto destro, Reveal in Finder e otterremo il file che dovrà essere poi confezionato ed inviato ad Apple.
65 Responses to “Creiamo i certificati per l’invio ad Apple”
9 Maggio 2011
Submitting Your App Using Xcode 4 | Valerio Dutto[…] essere membri del Mac o iOS Developer Program (guida), aver creato tutti i certificati necessari (guida) e aver già predisposto tutto su iTunes Connect fino a quando non arriviamo allo stato Waiting for […]
11 Maggio 2011
raffaelepotete aggiornarla ad xcode 4 sto inpazzendo……
7 Giugno 2011
StefanoAnch’io ho problemi con xcode 4 chi mette una bella guida ?
27 Luglio 2011
MajaIo invece ho realizzato la mia prima app con flash cs5.5 e devo dire che funziona tutto, perfettamente testato sul mio 3gs. Funziona tutto perfettamente ora non sò come fare il Provisioning e condividerlo su applestore… qualcuno ci è già passato ed ha trovato una soluzione??
6 Ottobre 2011
GianlucaMi trovo nella stessa situazione nessuno può aiutarmi??
6 Dicembre 2011
PierluigiIo sinceramente non riesco a farlo.. Ho fatto l’app ma l’application loader mi dice che c’è qualcosa di sbagliato nel codesignature
25 Febbraio 2012
AngeloCiao, con la vechia versione di XCODE tutto bene, ma con quella nuova non trovo non c’è più la voce Configuration per selezionare Distribution.
Come si fà ad attivare il nuovo XCODE?
Grazie mille.
25 Febbraio 2012
AngeloCiao, ma con XCODE 4.2 come si fa a selezionare la voce DISTRIBUTION nel menu BUILD?
7 Marzo 2012
Marcociao ragazzi con xcode 4.2 o con il 4.3 nella sezione targets non mi fa selezione il profilo iphone distribution mi dice profile’s dosen’t match applications identifer “Risto-Ciociari” che non esiste?? come mai
grazie
19 Maggio 2012
valeriosalve,
Premessa. Ho creato l’app con dreamweaver, ho creato l’app per iphone uso xcode 3.2.6.
ho eseguito più volte i vostri tutorial:
http://www.devapp.it/wordpress/acquistiamo-la-nostra-licenza-developer.html
http://www.devapp.it/wordpress/creiamo-i-certificati-per-linvio-ad-apple.html
http://www.devapp.it/wordpress/preparare-e-inviare-le-applicazioni-iphone-e-ipad-in-app-store.html
Ma nonostante la mia attenzione a non saltare nessun passaggio. In application loader ho i seguenti errori:
1.Iphone/Ipod Touch: application executable contains unsupported architecture(s): i386
2.Application failde codesign verification. The signature was, or it was not signed with an Apple submission certificate.
3.Unable to extract codesigning entitlements from your application. Please make sure (nome applicazione) is a valid mach executable that’s propely codesigned.
Non trovo la soluzione, ed ha circa 20 giorni che ci provo.
So che chiedere aiuto sia un impegno troppo grande da parte vostra. Vi chiedo solo un indicazione per risolvere un problema che mi attenaglia per molto tempo.
Grazie tante.
23 Maggio 2012
SauroSenza un device ios, posso ugualmente pubblicare un applicazione? E se si come lo carico il certificato ?
25 Maggio 2012
KingMilanoCiao a tutti, ho un problema di certificati, mi spiego:
Funzionava tutto fino a che l’hd principale del mac con cui avevo creato i certificati mi ha lasciato, reinstallando tutto ho scoperto che non è possibile richiedere nuovi certificati da zero ed ora mi trovo nella assurda situazione che qualsiasi provisioning creo per pubblicare o testare un app xcode 4.3 mi dice che ha trovato dei certificati non validi.
Il portachiavi invece ha il certificato Developer e Distribution validati e per lui funzionanti, ma quando faccio un check nell’organizer mi fa vedere tutti i provisioning con l’icona di Alert e la scritta “valid signing identity not found” risultato se provo ad archiviare un app per la distribuzione, nel processo di validazione non mi trova un provisioning valido e quindi non mi valida l’app.
Qualcuno ha qualche idea di come risolvere questo dilemma? grazie.
2 Luglio 2012
RiccardoIo ho un problema di questo tipo quando vado sull’iphone developer program nella sezione cerificates non mi compare il tasto add cerificates… chi di voi sa come aiutarmi?
31 Ottobre 2012
SamueleSalve, seguendo la vostra guida nel certificato ho inserito come “nome comune” il mio nome e cognome, successivamente ho sviluppato e poi testato la mia app tramite la distribuzione ad-hoc infine però quando sono arrivato all’atto della distribuzione vera e propria dell’app mi sono chiesto se questo “nome comune” è visualizzabile nell’app store in qualche modo, se si questo è un bel problema inquanto dovrebbe comparire semmai quello dell’azienda per cui lavoro devo rifare tutto d’accapo con un nuovo certificato, nuovo appid … ?
2 Maggio 2019
Pippo DelPreteBuongiorno.
Non riesco a capire una cosa.
Nel developer.apple.com mi fa creare un massimo di 3 certificati “App Store and AD Hoc”.
a questo punto vorrei capire se per ogni nuova applicazione devo usare un nuovo certificato (il che vorrebbe dire avere un limite di massimo 3 app) oppure un certificato può essere usato anche per una nuova applicazione?
Grazie
pippo