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.
























#1 da il profeta il 25 novembre 2009 - 14:50
Cita
Ottimo ottimo davvero!!!! COMPLIMENTI! Sinceramente grazie a questo Tutorial mi sono state chiarite molte ambiguità!!! GRAZIE DAVVERO!!!! Continuate così!!!
#2 da Luigi il 25 novembre 2009 - 14:54
Cita
La guida di apple è abbastanza chiara ma dei dubbi possono nascere ( e sono nati anche a me ). Mi è sembrato quindi opportuno scrivere un articolo…dopo aver un po buttato l’anima
Nel prossimo articolo vedremo anche come inviare l’app alla Apple
#3 da Tano70 il 25 novembre 2009 - 15:19
Cita
Grandeeeeee…. Finalmente una guida chiara su questi maledetti certificati!!!! XD XD XD
Grazie mille e continuate così
#4 da Fede81 il 26 novembre 2009 - 00:00
Cita
Grazie per questa guida.. serviva proprio!!
#5 da Clod75 il 29 novembre 2009 - 23:44
Cita
Ottima guida, grazie!!
Pingback: Luigi Marino: iProiettore in App Store (5 redeem) | devAPP
#6 da Alessandro il 30 dicembre 2009 - 22:15
Cita
ottima guida, non capisco come si possono gestire più device
#7 da Luigi il 1 gennaio 2010 - 12:58
Cita
devi inserire gli UDID e fare certificati ad Hoc in fase di distribuzione
#8 da Byteros il 3 gennaio 2010 - 15:12
Cita
Senza questa guida come avrei fatto?
Comunque la procedura è da idioti, è troppo lunga e rompiscatole… che cavolo…
#9 da Luigi il 3 gennaio 2010 - 22:13
Cita
Grazie
Si comunque la procedura è un po macchinosa e lo stesso capita anche nel caso della configurazione delle push
#10 da Francesco il 5 gennaio 2010 - 17:29
Cita
Ciao Luigi,
grazie per l’ottima guida.
Proprio oggi ho acquistato la licenza standard e sono ancora in attesa dell’Activation Code.
Una volta ottenuto come sarà possibile pubblicare l’applicazone che ho realizzato sull’Apple Store?
A quanto dici sembra sia necessario possedere un Iphone per recuperare l’UDID. Questa cosa mi sembra abbastanza strana, credo che si possa pubblicare su apple store anche senza essere in possesso di alcun Iphone.
Grazie per la risposta
#11 da Luigi il 6 gennaio 2010 - 00:15
Cita
Mi sa che hai capito male
L’udid serve solo per provare l’app ed installarla sul tuo cel
Se devi solo inviarla ad apple non hai necessità di un iphone in tuo possesso ma poi inviarla senza problemi creando il certificato per lo store ( NON AD HOC )
#12 da Francesco il 10 gennaio 2010 - 13:11
Cita
Ciao Luigi,
grazie per le tue esaurienti risposte.
Volevo segnalarti questa problematica:
Ho uplodato tramite iTunesconnect la mia applicazione ed attualmente sta nella fase di review.
Nella sezione Pricing ottengo il seguente messaggio:”You do not have a contract in place for the price tier you selected. To make your application available on the App Store, you must have an active Paid Applications contract.”
Volevo sapere se tale contrattato è possibile portarlo a termine anche in seguito all’accettazione della mia applicazione oppure è una cosa che bisogna fare a priori e quindi necessaria per l’accettazione stessa?
Seconda domanda:in cosa consiste tale contratto?
Ciao e grazie
Francesco
#13 da Luigi il 10 gennaio 2010 - 16:55
Cita
Guarda sinceramente non saprei risponderti con certezza.
Per quanto mi riguarda io appena ho inviato l’app ho provveduto a completare la procedura
Saluti e buon iphone
#14 da Max il 13 gennaio 2010 - 20:23
Cita
Grazie per la guida. Purtroppo quando vado a fare la build dell’app mi da questo errore:
CSSMERR_TP_NOT_TRUSTED
command /usr/bin/codesign failed with exit code 1
Come posso risolvere?
#15 da Francesco il 15 gennaio 2010 - 14:01
Cita
Luigi ce l’ho fatta….
ecco la mia prima app
http://itunes.com/apps/winpoker
Fammi sapere che ne pensi e che in modo sia possibile pubblicizzarla…
E’ possibile collaborare insieme per realizzare qualche applicazione???
Io sono un po scarso dal punto di vista grafico purtroppo
#16 da Adriano il 21 febbraio 2010 - 05:06
Cita
Tu non puoi capire quanto mi sei stato d’aiuto! Da oggi sei il mio idolo ……..!!!!!!!
#17 da Adriano il 21 febbraio 2010 - 05:58
Cita
Come non detto ….non me lo fa inviare ;_; Sono due giorni che cerco di inviare la mia applicazione ma nulla! Dice che il file non è certificato
Pingback: iPhone Developer Program, certificati di sviluppo e distribuzione App | Davide Gullo, Consulente web
#18 da Alessia il 6 marzo 2010 - 19:03
Cita
Salve a tutti io e la mia società abbiamo terminato la nostra app ma sono 2 settimane che litigo con l’invio dello zip o seguito le procedure per 15 volte ma quando provo a inviare lo zip il messaggio è sempre lo stesso…
“The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate.”
COSA DEVO FARE
Ho scritto ad Apple ma nn mi risponde sono passati già 4 giorni nn so cosa fare
HELP ME !!
#19 da Gino il 9 marzo 2010 - 19:13
Cita
Luigi, grazie della preziosissima guida.
Ho realizzato un’applicazione completa pronta per esser pubblicata sull’app store, richiesto la licenza, pagata ed attivata. Fin qui tutto bene.
Ora come da guida stavo provando la parte dei certificati, ho una versione MAC in inglese, lancio /Application/Utilities/Keychain Access ma non trovo nessun menù!
Sulla sinistra trovo le voci:
All items
Passwords
Certificates
My Certificates
Keys
Secure Notes
Ma nulla di quel che ho provato mi permette di richiedere un certificato o di far apparire una finestra almeno simile come input a quella della figura 1.
Potresti aiutarmi a sbloccarmi ?
grazie di tutto.
Gino
#20 da Gino il 9 marzo 2010 - 19:19
Cita
Come non detto, non mi appariva la barra dei menù!!
Procedo, sperando di non dover richiedere nuovamente il vostro aiuto!
#21 da luca il 11 marzo 2010 - 14:21
Cita
io ho un problema, il mio prof ha delle licenze date da apple, e ha associato il mio UDID ad una di queste….ora come creo il certificato?? non avendo comunque le credenziali per accedere al programma degli sviluppatori dal sito apple non posso seguire la vostra guida…help please