4th settembre, 2008

Installare e testare la nostra applicazione sull’iPhone. Non solo sul Simulatore!.

by Stefano Lodu

Un nostro amico Wuillo l’altro giorno mi ha formulato una domanda molto importante: Ciao Stefano, ho seguito i corsi pratici ho fatto il mio software l’ho testato sul simulatore iphone ed ha funzionato perfettamente, ma quando poi ho scelto di provarlo sul device iphone non e’ partito restituendomi un errore !!! come mai ?

E’ proprio vero a volte le cose che sembrano le più scontate sono le più complesse e insidiose. Ricordo quando ho deciso (come credo molti di voi), dopo aver installato l’ SDK versione gratuita sul Mac ,di comprare per i famosi 99 US$ la versione per la distrubuzione delle nostre applicazioni o per poterle installare in uno dei nostri iphone (magari averne anche più di uno… comunque non potete farlo su più di 99).

Credevo che il gioco fosse fatto, e nel mio Xcode ho cambiato subito l’uscita dell’applicazione da Simulatore a Device iphone sperando di vedermelo proiettato sul multi touch dell’iphone !.. Niente di tutto ciò, l’applicazione come per il nostro Wuillo ha restituito un errore !!. e da li ho capito che non bastava pagare …

Per acquistare l’SDK per la distribuzione innanzi tutto bisogna andare nel sito della Apple e fare la solita procedura di acquisto al seguente link e seguire le istruzioni per l’acquisto. Una volta ultimato e pagato bisognerà aspettare circa un giorno (almeno nel mio caso), dopodichè arriverà una conferma di acquisto via email (mi ricordo che non capivo se dovevo ricevere un CD con l’ SDK, una chiave da inserire per sbloccarlo come si fa solitamente tra applicazioni free e a pagamento).

Niente di tutto questo.. dopo il pagamento si ha accesso ad una sezione del sito apple che si chiama “iphone developer program” e per andarci bisogna andare prima al link iphone da qui effettuare il login e poi selezionare “Program Portal”.

Apple Portal iphone

Apple Portal iphone

Una volta entrati nel Program Portal ci troveremo difronte ad un vero applicativo fatto di menu e tab navigator (rigorosamente in inglese) che ci invita a fare un sacco di operazioni prima di poter vedere un nostro applicativo installato nel nostro iphone.

Prima di spiegare la procedura che bisogna adottare per fare ciò credo sia giusto fare una panoramica di cosa andremo a fare.. e soprattutto perchè tante operazioni per un qualcosa che credo ai più doveva risultare immediata.

La risposta sta nella sicurezza. Casa Apple tutela a più non posso le applicazioni che gireranno all’interno sia dell’apple store che di conseguenza dei nostri iphone. Si parlerà di richiesta certificati a casa Apple, di ritiro di certificati, di chiavi di sicurezza pubbliche e private, di identificazioni device, persone e applicazioni.. insomma si potrebbe scrivere solo dell’argomento un capito, non un articolo, quindi meglio che cominciamo.

Program Portal

Program Portal

Prima fase: generazione certificato per richiesta.

1) Dobbiamo generare una richiesta di certificato da inviare a Apple (CSR) per fare questo dobbiamo andare nel nostro mac, entrare nella cartella Applicazioni, e poi nella sottocartella Utility, e aprire il programma “Accesso Portachiavi” (Keychain Access).

2) Selezioniamo dal Menu : Accesso Portachiavi -> poi Assistente certificato -> e Richiedi un certificato da un autorità di Certificazione.

Accesso chiavi

Accesso chiavi

3) Nella finestra che apparirà :

Accesso chiavi 2

Accesso chiavi 2

indicare una proprio email corretta, indicare il proprio nome completo possibilmente (serve poi per i certificati), lasciare libero il campo : email CA, spuntiamo “registra certificato su disco” e “lascia che sia io a specificare le informazioni coppia di chiave.

Una volta fatto questo premere “continua”, ci verrà chiesto dove salvare il file. Noi sceglieremo al momento la scrivania del nostro mac. Nella finestra successiva dedicata al tipo di compressione lasciamo impostati i valori a 2048 bit e algoritmo RSA.

Il certificato CSR si è cosi creato sul nostro computer con il nome di “CertificateSigningRequest.certSigningRequest”.

Seconda fase: invia certificato per generazione certificato approvato.

A questo punto ritorniamo sul nostro Program Portal Apple. Posizioniamoci su “certificates” -> “development” e selezioniamo “add Certificate”

Da questo procedura scegliamo il pulsante “sfoglia” per selezionare il certificato appena creato nella nostro mac e premiamo il pulsante Submit. (una email di conferma da parte del Team Admins ci notificherà delle richieste di certificato e approvazioni).

A questo punto (provando a fare anche un refresh della pagina) dovrebbe apparira sempre nella sezione “certificates” -> “development” il nostro certificato e nella sezione Actions -> Approve / reject.

Selezioniamo Approve.

Ora riproviamo a fare un refresh della pagina o a cambiare tra i tab per poi ritornare su “certificates” -> “develompment” e sempre nella sezioni Actions ora dovremmo trovare download per poter scaricare finalmente in certificato approvato e lo salveremo sempre sulla nostra scrivania.

Certificate download

Certificate download

Una volta scaricato il file : developer_identity.cer clicchiamoci due volte sopra e si aprirà il nostro programma Accesso chiavi che memorizzera questo certificato.

Terza fase: aggiungiamo il nostro device iphone al sistema per essere riconosciuto.

Entriamo nel menu “devices” e selezioniamo “Add device” (aggiungi). A questo punto ci viene richiesto un nome (Device Name) e il suo numero ID esadecimale da 40 caratteri. Per trovare queste informazioni (con l’iphone collegato) andiamo su XCode -> selezioniamo Window e o poi Organizer e da qui copiamo i valori e li scriviamo all’interno dei campi e confermiamo con Submit.

Device

Device

Quarta fase: aggiungere un ID alle nostre applicazioni

Ora dobbiamo aggiungere un ID alle nostre applicazioni. Prenderemo il caso più semplice che attribuiremo a tutte le nostre applicazioni lo stesso ID. Entriamo in APP ID e selezioniamo Add ID. Da questa finestra inseriamo nel campo “App ID Name” la voce ad esempio “myapplicationSuiteID” e nel campo App ID inseriamo un “*” asterisco ad indicare tutti e premiamo Submit.

Quinta fase: Creare un profilo

Sempre dal Program Portal ora selezioniamo la nostra penultima voce (abbiamo quasi finito) : Provisioning. Da qui selezioniamo il pulsante “Add profile”. Dobbiamo indicare un “profile name” tipo : “mydevelompentprofile”, Selezionare i certificates che useremo, selezionare in “app ID” la nostra suite generata precedentemente ID e selezionare il “devices”.

Provisioning Profile

Provisioning Profile

A questo punto tornati nella sezione “provisioning” -> “Development” dovremmo vedere il nostro profilo creato e (aggiornando la pagina eventualmente) sotto la sezioni Actions la possibilità di fare il Download. Salviamo quindi il file sempre nella nostra scrivania mac. Questo file generato dobbiamo trascinarlo per assegnarlo all Xcode. Quindi fancendo un drag and drop (selezionandolo e trascinandolo) lo portiamo sopra l’icona di Xcode che si trova sulla dashboard del nostro mac. Ora chiudiamo e riapriamo Xcode, andiamo su Window e apriamo “organizer” dovremmo trovare inserito il nostro profilo come da figura e selezioniamo (se non lo e’ ) la sua casella di selezione.

Provisioning Profile

Provisioning Profile

Abbiamo terminato ora possiamo aprire un nostro progetto selezionare il dispositivo d’uscita “device” al posto di “simulator” e fare un “build and go” della nostra applicazione.

Attenzione perchè se non si e’ abituati si dovranno aspettare dei secondi in più rispetto al simulatore perchè il trasfermento e’ piu’ lento ma piu’ soddisfacente….

Articolo precedente dell’argomento.

Articolo successivo dell’argomento.

iPhoneandGo - Lodu - iphoneandgo@gmail.com

Developer . SDK . Tutorial Pratici | Add your comment

15 Comments. Subscribe to this post comments or trackback.

  1. pepo154
    settembre 4th, 2008

    Non immaginavo tutta questa procedura.
    Immaginavo, come dicevi tu, di pagare e portare a casa un serial o un qualcosa per attivare la funzionalità *_*

  2. Lo Scacciato
    settembre 5th, 2008

    Giusto una curiosità, ma per chi come me è curioso di sviluppare un applicazione per iphone e decide di istallare macosx su pc tramite iso modificate, è possibile creare una chiava che verrà considerata corretta in caso di voler spendere i 99$?

    Purtroppo non posso permettermi di spendere soldi per un mac.

    Se questo commento sembra fuori luogo, lo puoi cancellare :P

    Ciao.

  3. Sacco
    settembre 6th, 2008

    se vi interessa eccovi un link che spiega come firmare le applicazioni e farle girare su iPhone (anche senza pagare)

    dato che non so quanto sia legale… se ho sbagliato cancellate il commento!
    http://www.spaziocellulare.com/ispazio/2008/08/20/guida-come-firmare-le-applicazione-create-con-sdk-per-il-firmware-20x-e-come-trasferirle-nelliphone-ipod-touch/

  4. maikp
    settembre 28th, 2008

    Ma una volta fatta questa procedura possiamo anche vendere le nostre applicazioni su Apple store??

  5. Dave
    ottobre 14th, 2008

    emmm una domanda… oggi ho comprato il program… mi è arrivata l email di conferma ma sul sito non mi appare il link… tutto normale? ecco cosa trovo scritto:
    Already applied to the Program?
    We are currently processing your enrollment application and will be contacting you soon.
    Ti hanno contattato telefonicamente?

  6. riccardo
    settembre 3rd, 2009

    Ho seguito la guida e all’inizio tutto funzionava.
    Poi ho avuto bisogno di creare la versione da mandare nell’ AppStore. Qui ho fatto qualche errore seguendo la guida di Apple. Fatto sta che la mia applicazione non l’ho creata ma cosa peggiore è che ora nell’ Organizer di Xcode il mio iPod figura con un pallino arancione e la scritta che supporta lo sviluppo, come in questa foto.

    http://www.xcodeitalia.org/forum/attachment.php?aid=13

    Ho rifatto tutta la procedura da zero ma mi rimane il problema
    che si può fare?

  7. rudi
    settembre 11th, 2009

    ciao, scusatemi, sto ancora cercando di registrarmi su apple pagando l’obolo… speravo di potermi registrare col nome della mia “azienda” anche se sono solo un consulente informatico e quindi non registrato alla camera di commercio, comunque sia mi arriva una email da apple che mi richiede i dati della camera di commercio, dati che dovrei mandare via fax al numero :+1-408-974-1053 vi torna? avete mandato via fax anche voi? la procedura è diversa se mi registro come persona singola? Attendo qualche cortese chiarimento in merito se qualcuno avesse qualche consiglio in merito.
    grazie

  8. Francesco
    novembre 3rd, 2009

    Ciao Stefano,
    volevo chiederti in che cosa consiste la limitazione data dalla licenza di 99 euro.
    In che modo viene limitato il numero di dispositivi sul quale poter installare le applicazioni create da noi?
    Ciao e grazie

  9. Stefano Lo Duca
    novembre 12th, 2009

    Ciao Francesco
    la limitazione consiste in questo..:
    ogni tua applicazione puo’ essere messa liberamente in vendita su appstore.. o messa anche
    gratuitamente.
    Nell’intenzione invece che vuoi darla direttamente ai tuoi amici.. parenti.. colleghi senza passare
    da appstore…(o anche decidendo di metterla su appstore) allora devi avere i numeri di UDID
    dei telefonini iphone ai quali vuoi installarla.. richiedere un certificato apple… e poi
    procedere all’installazione. (limite massimo 100 iPhone).
    Stefano

  10. luigi Marino
    novembre 16th, 2009

    ho seguito la tua guida e ti ringrazio tantissimo
    ho due app…una caricata perfettamente mentre l’altra mi dice Failed to upload iVideo.app
    l’app mi compare sul cel, splash page non viene visualizzata ( ho messo una immagine modificata ) ma l’app mi funziona internamente alla perfezione.
    come mai?
    grazie

  11. Stefano Lo Duca
    novembre 17th, 2009

    Luigi, un po’ difficile da individuare il problema cosi… bisognerebbe poter vedere il codice.. e tutto…
    un saluto

  12. antonio
    dicembre 23rd, 2009

    Ciao a tutti!
    ho creato un app che visualizza pagine web, giusto per iniziare a studiare, ma puo’ essere che sul simulatore non si vede perche’ non e’ collegato alla rete?

    Ciaooooo

  13. Davide
    marzo 12th, 2010

    Ciao, io ho un problema. Una volta arrivato al punto di inviare il certificato, clicco su APPROVE ma non ho la possibilità di scaricare il ceetificato. Semplicemnte viene cancellato tutto! Nella History compare anch un Error comai? Ho seguito tutto passo passo cosa sbaglio?

  14. marco
    luglio 25th, 2010

    grazie, ma per richiedere/installare il cerificato di distribuzione con iAd abilitato è un bagno di sangue, sono 48 ore che ci provo e ancora non funziona… esiste qualche tutorial passo passo? neanche il “pdf” ufficisle apple si comprendono i passaggi esatti.

  15. CIR
    aprile 30th, 2011

    OTTIMO articolo…a quando una breve gui per mandare le proprie app ad apple? e quali sono i requisiti di un app per non farsela respingere da Apple?

Leave A Reply