[Guida] Installare le applicazioni su iOS 5.0 senza certificato direttamente da Xcode

Come molti di voi sapranno, per installare le proprie applicazioni sul device è necessario un certificato, che si può creare solo acquistando la licenza da sviluppatori iOS. Molti utenti alle prime armi non dispongono di tale licenza, ma vogliono ugualmente aver la possibilità di testare le applicazioni sul proprio dispositivo.

Nella guida che trovate di seguito trovate una procedura che vi spiega come installare le applicazioni direttamente da Xcode, senza la necessità di avere un certificato “ufficiale” per lo sviluppo.

La guida è stata testata su iOS 5 e con Xcode 4.2, e risulta funzionante. Potrebbe essere, comunque, che qualcuno non riesca ad utilizzare la guida. Purtroppo non conosco nessun metodo alternativo, quindi se questa procedura non vi funziona dovete per forza acquistare la licenza annuale da sviluppatori.

Ecco la guida!

Premesse

A. Prima di iniziare, aprite Xcode e andate in “Window -> Organizer” e assicuratevi che il vostro dispositivo sia configurato per poter essere utilizzato per il test delle applicazioni.

Se non vedete la schermata così, vi basterà premere il bottone che appare, con una scritta del tipo “Use this device for development”.

B. Il dispositivo dove volete installare l’applicazione deve essere jailbreak (per le guide su come sbloccare il vostro dispositivo vi rimando a siti specializzati nell’argomento, come iSpazio).

C. Da Cydia dovete installare l’utility AppSync, che permette di far funzionare anche applicazioni non certificate. Potete trovare questa utility aggiungendo la seguente repository: http://cydia.hackulo.us

Procedura

1. Assicuriamoci di avere Xcode completamente chiuso, quindi navighiamo fino alla seguente directory:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Entrate, poi, nella cartella che riporta la versione dell’SDK che vi serve. Se volete compilare e installare con l’ultima versione disponibile dovrete scegliere la cartella “iPhoneOS5.0.sdk”:

Il file che ci interessa è “SDKSettings.plist“:

2. Dobbiamo modificare questo file, che però è protetto, quindi dobbiamo effettuare dei passaggi supplementari. Trasciniamo il file “SDKSettings.plist” in un altra cartella, ad esempio sulla Scrivania.

3. Ora dobbiamo modificare i valori che ci interessano. Fate clic con il tasto destro sul file appena copiato, aprendolo poi con Xcode

4. Ora modificate i valori in modo da avere un file che rispecchi questo:

Fate attenzione alle stringhe CODE_SIGNING_REQURIED, CODE_SIGN_ENTITLEMENTS e AD_HOC_CODE_SIGNING_ALLOWED.

Chiudete il file avendo cura di salvarlo.

5. Ora dovete solamente rimettere il file nella sua cartella originale. Trascinando il file modificato nella cartella che abbiamo aperto in precedenza, otterrete il seguente messaggio:

Cliccate su “Autentica” e su “Sostituisci” nella schermata successiva:

Vi verrà infine chiesta la vostra password da amministratore:

Abbiamo concluso questa parte.

Utilizzo

L’operazione appena descritta deve essere effettuata una sola volta (o comunque ad ogni aggiornamento dell’SDK).

Ogni volta che create un nuovo progetto in XCode, invece, dovrete fare una piccola modifica alle sue proprietà. Selezionate il vostro progetto e spostatevi nella sezione “Build”.

In essa cerchiamo la vo cerchiamo la voce “Code Signing Identity”. Dal menù a tendina scegliamo “Don’t Code Sign”, in modo che XCode non cerchi nessun certificato. Effettuate l’operazione sia sulla voce “Debug” che su “Release”:

Ora possiamo tranquillamente installare le nostre applicazioni da Xcode, selezionando “iOS Device” dalla barra dei menu superiore:

Se avete eseguito tutto correttamente l’applicazione verrà installata ed eseguita sul vostro dispositivo!

La guida è stata scritta da Andrea Busi per “BubiDevs“.
I ringraziamenti vanno a BigBoss e alla sua guida originale.

Ingegnere informatico e sviluppatore freelance, mi occupo da anni di sviluppo per iOS (ma non solo). Dal 2008 scrivo su questo piccolo blog (con qualche lunga pausa), in cui parlo di programmazione e di qualsiasi altra cosa che mi diverta.

161 comments On [Guida] Installare le applicazioni su iOS 5.0 senza certificato direttamente da Xcode

  • grazie, allora tutto ok qui.
    Per certificare le applicazioni, però l’altra guida non va bene, infatti durante il build and go su xcode si ottiene sempre un errore del tipo:
    ” Code Sign error: a valid provisioning profile matching the application’s Identifier ‘com.yourcompany.nomeprogetto’ could not be found”.

    Per poter compilare senza errori il progetto ed installarlo nell’iphone occorre mettere “don’t code sign” al posto di “iPhone developer” nelle proprietà del progetto.

  • @Danilo: forse avevo sbagliato link.. la guida in cui si utilizza LDID dovrebbe funzionare, bisogna farla dal passo 3 in poi 😉

  • @andrea:
    con questa guida funziona già alla grande :). L’unica cosa in xcode è scegliere di non certificare l’applicazione. Se la certifichi con “iphone developer” ed il certificato te lo sei creato tu, non funziona in quanto ti da l’errore di cui sopra.
    Il problema non è l’iphone, ma l’SDK.

  • @Danilo: vero, ho dimenticato un passaggio, non mi ero accorto! Ora sistemo subito 😉

  • OK.
    Nel frattempo ho provato anche la procedura con ldid e ti confermo che funziona.
    Inizialmente ne avevo fatto a meno in quanto avendo l’iphone connesso al mac, dopo aver compilato la mia app, xcode me l’aveva già installata correttamente e funzionante nell’iphone.

  • @Danilo: appena corretta, grazie 😉
    Comunque quella con LDID serve se hai intenzione di distribuire a tua applicazione, altrimenti si può farne a meno

  • Ciao a tutti, mi sono imbattuto in questa guida dal sito Xcode Italia, ho seguito le istruzioni ma durante la compilazione mi appare un errore:
    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.0’.
    Ho notato che quando apro il menù di configurazione(quello dove si seleziona architettura, sdk ecc.) mi compare in ‘Active Executable’, ‘No device available’, da questo presumo che non Xcode non veda il mio iTouch, è un iPod Touch 2G, con firmware 3.0.

  • @Gio97: controlla che il tuo dispositivo sia configurato per lo sviluppo.. vai in “Window -> Organizer” e controlla che appaia il tuo dispositivo 😉

  • Veramente veramente grazie per questa guida !
    se non sbaglio è la prima volta che si può fare una cosa del genere senza iphone jailbreakkato ! o sbaglio ?

    Grazie ancora !!

  • A me non parte , mi scrive questo :

    Error Starting Executable
    No provisioned iPhone OS device is connected.

    sono andato a vedere nell organizer e il dispositivo non risulta utilizzabile perchè Xcode supporta versioni di iphone 3.0 e sull iPhone ho 3.0.1
    possibile ?

    The version of iPhone OS on “iPhone di Vanni” does not match any of the versions of iPhone OS supported for development with this copy of Xcode. Please restore the device to a version of the OS listed below. If necessary, the latest version of Xcode is available here.

    OS Installed on iPhone di Vanni
    3.0.1 (7A400)

    Xcode Supported iPhone OS Versions
    3.0 (7A341)
    2.2.1
    2.2
    2.1.1
    2.1
    2.0.2 (5C1)
    2.0.1 (5B108)
    2.0 (5A347)
    2.0 (5A345)

  • @Ragazzetto: cercando in rete ho trovato QUESTO articolo, penso possa fare al caso tuo..
    Fammi sapere se funziona, così lo metto alla fine della guida 😉

  • Ciao a tutti, ho controllato nell’Organizer, e ho messo come device per lo sviluppo il mio iPod. Comunque adesso mi appare un errore: This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).
    Quando Xcode tenta di installare l’app sull’iPod, mi appaiono due finestre, oppure l’Organizer, con quel messaggio. Avevo un Provisioning Profile per il testing di un’app, ma ora l’ho eliminato, cosa può essere? Avevo anche provato a farmi da solo il certificato, ma ho eliminato anche quello, assieme alle chiavi.

  • Andrea effettivamente lo avevo trovato anche sulla pagina developers apple

    http://adcdownload.apple.com/iphone/iphone_sdk_3.0__final/iphone_os_3.0.1_advisory_v1.1.pdf

    Io ho provato ma a me non funziona , avrò sbagliato qualcosa di sicuro !
    Comunque poco male , se tra poco esce il 3.1 andrà sicuramente tutto bene con Xcode 3.1 e iPhone OS 3.1 !

    Grazie lo stesso !

  • @Andrea Busi: @Danilo: appena corretta, grazie
    Comunque quella con LDID serve se hai intenzione di distribuire a tua applicazione, altrimenti si può farne a meno

    piccola domanda (sicuramente stupida ) :
    questo vuol dire che se uso questa guida , in un futuro non potrò pubblicare l’ App installata sul dispositivo per esempio su AppStore ?
    Sicuramente una scappatoia c’è , magari basta rimetter tutto apposto com’ era prima o male male reinstallare da capo l’ SDK , no ?

  • @Ragazzetto: certo, ti basterà riportare il file che modifichiamo allo stato originale, e poi usare il tuo certificato per certificare l’applicazione 😉

  • È incredibile: ho ripristinato l’iPod rinominandolo, e dava sempre il solito errore, ho provato a farlo ignorare dall’Organizer ma usciva sempre il solito errore, come è possibile?

  • ciao andrea ho seguito tutta la guida di come installare le app sull’iphone e infatti xcode mi da build succeeded ma subito dopo mi dice che iphone os non e’ connesso come mai (io ho un iphone 3gs con fw 3.0.1)ciao e grazie

  • @Massimo:
    hai aperto l’organizzer dal menù windows di xcode e settato il tuo iphone per usarlo come developer?

  • @gio97:
    anche a me dà lo stesso problema!

    AIUTO!!!!

  • Mi hanno detto che il problema potrebbe essere di Xcode, ma il mio Xcode è quello che c’è con Snow Leopard, e vedo che chi ha fatto questa guida usa proprio il 10.6.

  • @gio97:
    forse dovremo sbloccare l’ipod???? amche io uso snow leopard con xcode 3.2…. che ingrippo!!!

  • No, io non ho intenzione di sbloccarlo, per questo tento di usare questa procedura, appunto perché non serve il jailbreack.

  • uffa…. ma allora qual è il problema???? non è che installando la vecchia versione di xcode funziona???
    Andrea aiutaci tu!!

  • Purtroppo ho lo stesso problema anche io.. Non so se dipenda dal nuovo firmware 3.1 oppure da XCode 3.2..
    Sto cercando in rete come risolvere questo problema ma non ho ancora trovato niente.. Speriamo di trovare una soluzione al più presto!

  • NOVITA’! La procedura funziona sul mio iPod 1g con firmware 3.1.1 sbloccato.. Che dipenda dallo sblocco questa procedura? Qualcuno può confermare/smentire?

  • tra l’altro lo sblocco x ipod 2g fw 3.1.1 nemmeno c’è ancora se no provavo!

  • raga scusate ma lo sblocco per l’ipod 2g fw 3.1.1. non è uscito ancora????

  • @Raffaele Pio: siamo un po’ offtopic, comunque dovrebbe esserci.. guarda QUI..

  • lo so, ma forse dipende proprio dallo sblocco il fatto che la procedura non va a buon fine! 🙂
    grazie per l’utilissimo link!!!!!!!

  • ciao io ho seguito tutta la procedura ma mi da sto errore

    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.0’

  • anke io ho seguito passo a passo ma mi da lo stesso errore…

    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.1.2′

    idee??

  • @deva: @andrea: purtroppo anche a me spesso non funziona.. devo cercare una soluzione, appena riesco provo a guardare un po’ se trovo qualcosa..

    P.S: avete modificato la versione corretta dell’SDK vero?

  • sisi la 3.1.2 come detto nella guida… cmq grazie..

  • Ancora nulla?!?! anche a me da lo stesso errore: CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.1.2′
    Iphone 3g 3.1 🙁

  • qualche novità andrea??

  • Iphone 3gs firm : 3.1.2….. Mac book snow leopard sdk 3.1.2…
    seguo questa guida, appena premo build and run dice :
    “This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).”

    aiutino ??

    Matt

  • per curiosità, avete il dispositivo originale o jailbrekkato?

  • jailbreaked con blackrain

    >Iphone 3gs firm : 3.1.2….. Mac book snow leopard sdk 3.1.2…
    >seguo questa guida, appena premo build and run dice :
    >“This provisioning profile does not have a valid signature (or it has a >valid, but untrusted signature).”

    >aiutino ??

    p.s. con l’altra procedura ldid da un errore del tipo malformed object…

    Matt

  • jail…. con pwnage tool… ormai ho quasi finito il programma ma nn posso provarlo…..

  • Ciao,
    innanzi tutto grande Bubi!
    Secondo: ho un iPhone con fw 3.1.2 jailbreackato con pwnage tool e funziona tutto alla grande!!!!!!

    PS: inizialmente NON andava, poi mi sono accorto di aver eseguito la procedura con xCode in esecuzione: mi è bastato riavviare xCode per portare a termine la procedura con successo!

  • Allora ho lo stesso problema che hanno gli altri:

    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.0′.

    sono andato in organizer mi risulta
    Iphone 3.0 (7A341)

    ma sotto c’è scritto qualcosa che tradotto credo voglia dire:
    xcode non riesce a vedere il software installato …

    Avete soluzioni (che so cambiare firmware) o seguo un’altra via???

    Cmq uso snow leopard 1.6 e iphone 3g jailbrack (redsnow)

    Grazie

  • @Andrea Busi: ma va anche su iPhone non jailbreaked

  • Grande Andrea.
    Io ho OS 3.1.2 originale.
    Questo tutorial purtroppo non funziona con questo firmware. Da sempre lo stesso errore:
    “CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.1.2’ ”

    Hai scoperto un altro modo per caso?
    ciao

  • Qualcuno ha trovato una soluzione per
    iphone 3.1.2 con l’ultimo xcode (senza utilizzo di jailbreak)?

  • AGGIORNAMENTO: ho appena testato la guida con versione SDK 3.1.2 e firmware 3.1 (iPod 1g) e funziona perfettamente!

  • Ciao Andrea, ho seguito la guida passo passo, ma non mi funziona, quando pubblico l’applicazone con Build mi da “Failed” e l’errore: “CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.1’…

    Cosa potrebbe essere secondo te?

  • @Guido: ciao.. azzarola.. hai fatto l’inizio della procedura con XCode chiuso vero?
    che firmware hai e che versione di SDK usi?

  • @Andrea Busi: Mmmmm, adesso che ci penso, Xcode era aperto, ho provato a fare la procedura sia nella cartella per il 3.1, che per il 3.1.2, ma nessun risultato. Oggi riprovo con Xcode chiuso. l’SDK uso l’ultima versione e l’iphone ha la 3.1

  • Andrea, tutto risolto, ho rifatto la stessa procedura e ora funziona tutto, grazie ancora. Posso poi mandarti una mail per l’implementazione dei video?

  • @Guido: ok ottimo, meglio così! cmq certamente, fallo usando il form Contattami

Leave a reply:

Your email address will not be published.

Site Footer