[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

  • Ho anche io il problema del “or it has …..” non la riscrivo prrhe non me la ricordo tutta, ho un iPod 3g 3.1.2 non sbloccato.Aiuti????

  • aiuto mi da lo stesso errore di @gio97
    ho un ipod touch 3g 8gb non sbloccato

  • Ipod Versione 3.1.2
    Xcode Versione 3.2.1
    SDK Versione 3.1.2

    Stesso problema:

    This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).

    Il mio Ipod ha il firmware originale.. la procedura è stata eseguita mentre Xcode era chiuso.

    Novità?

  • Ho lo stesso problema di @gio97 e @Simonemac, quando provo ad eseguirlo mi da due messaggi con questo errore:

    This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).

    Ho l’ultima versione di Xcode, un iPod Touch 3G con la versione 3.1.2. Vorrei evitare di sbloccare l’iTouch perchè lo ho comprato appena il 26 Dic.. Come posso fare? Grazie.

  • Allora..a tutti quelli ke da errore riguardo al “CodeSign” è xk devono domificare il file del progette clikkando 2 volte sul primo file “nome app” in “Groups & Files” e modificare alla voce “Code Signing Identity” da “iPhone Developer” a “Don’t Code Sign”.

  • altra cosa….specifico ke io ho provato cn iPod touch 2G con firmware 3.1.2 JAILBROKEN con AppSink for 3.1 installato e tutto è andato liscio…mentre cn iPhone 3GS con firmware 3.1.2 NON jailbroken mi da l’errore “This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature)”.
    Ora comincio a dubitare ke sia dovuto alla presenza di AppSink…ma mi pare al quanto strano..dato ke i diritti d’autore non sono di altri ma i miei stessi…se qualcuno trovasse la soluzione mi contatti perfavore scrivendo una mail all’indirizzo lory995@gmail.com facendosi magari riconoscere e dicendo dove a preso il mio contatto…grazie…;-)

  • Ciao ragazzi,
    a me da lo stesso errore ovvero: “This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature)”

    Configurazione:

    Iphone 2g 3.1.2 Jailbroken con pwnage tool
    SDK 3.2.1

    ESEGUO LA GUIDA E MI DA QUELL’ERRORE.
    Consiglio?
    Novità?

  • Ciao! Innanzitutto grazie per la guida, però a me non funziona…provavo il metodo per il FW 2.0 e non funzionava. Riepilogo la mia situazione:
    iPhone 3GS 16Gb FW 3.1.2 Jailbroken Blackra1n
    iPhone SDK 3.1.2
    Xcode 3.1.4
    Eseguo tutta la procedura alla lettera, ho impostato l’iPhone come developing nell’Organizer, ho modificato il file dell’Xcode per il FW 3.1.2, imposto i settaggi per l’applicazione in Xcode come indicato però al momento della compilazione ottengo:
    CodeSign error: code signing is required for product type ‘Application’ in SDK ‘Device – iPhone OS 3.1.2’
    Trall’altro anch’io, come Diego, nell’Oranizer sotto Software Version (impostato 3.1.2 7D11 anche perchè altre scelte, oltre ad Other non ne ho) mi viene scritto: Xcode cannot find the software image to install this version. Ti prego Andrea, siamo tutti con te! =)

  • @Stefano: che in XCode ti dica “XCode cannot find the software image ti install this version” è normale, è solamente perchè non l’hai ripristinato da li..

    comunque non so proprio perchè non vada, forse è questione di Jailbreak (io ho iPod Touch 1g).. davvero non so..

  • Ciao!
    Ho un iPod Touch 1G con il firmware 3.1.1.
    Uso Snow Leopard con Xcode 3.1.2.
    Mi dice sempre che i miei certificati non sono firmati…
    Ma è necessario che l’iPod sia craccato per farlo funzionare?

    Grazie, ciao!

  • @Francesco: a questo punto penso di si.. il tuo non è jailbreak?

  • No… 🙁

  • Hai scritto una guida su come hai effettuato il jailbreak per il 3.1.1?
    Dato che mi pare di aver capito che abbiamo lo stesso dispositivo se me la linki la seguo anch’io!! 😉

  • @Francesco: ho seguito le guide di iSpazio..

    per tutti: che modalità utilizzate per compilare l’applicazione? Perchè se utilizzo Release nemmeno a me funziona, mi va solo con Build..

  • Build… 🙁

  • Ps chissà se aggiornando a 3.1.3 funziona…..

  • non funziona su firmware 3.1.3 con xcode 3.2.1!!
    come posso fare?

  • ciao mi associo anche io agli altri ragazzi, mi da l’errore: code sign is required….. ho provato in tutti i modi ma niente.

    Si sa qualcosa di nuovo?

    Ciao Lux

  • La guida funziona bene! Bisogna solamente ricordarsi che alla fine della guida va chiuso e riaperto Xcode! Ricordate, xCode e non il progetto!

  • Ciao a tutti, anche io ho lo stesso problema mi dice This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).
    Ho l’iphone con il firmware 3.1.2 con il jailbreak.
    Come xcode uso il 3.2.1.
    Ho seguito passo passo la guida e dall’organizer ho impostato l’iphone correttamente.

    Sapete come aiutarmi??
    grazie 1000 in anticipo!

  • @Ivan: purtroppo non so proprio dirti.. questa guida è diventata un terno al lotto, ad alcuni funziona ad altri no.. sto cercando un po’ in rete ma non trovo nessun altro metodo valido purtroppo..

  • @ Andrea: ho risolto! ho letto i log e leggevo sempre mobile installation… allora mi son ricordato di non aver installato l’appsynk!!
    Da quel momento in poi funziona alla grande!!

  • @Ivan: ah ok.. potrebbe essere quella la causa allora..

  • Grazie per la guida!!!! A me ha funzionato!!!!

    iPhone 3GS 3.1.2 JB con blackra1n
    con installato AppSync 3.1 (penso che Lory995 abbia ragione)

    xCode 3.1.2!

    Mac OS X 10.5.7 virtualizzato con VMware!

    e ovviamente guida seguita alla lettera…

  • Ciao Andrea, anche per me stessa cosa, con Xcode 3.2 e iphone 3.1.3 e ipodtouch 3.1 non riesco a lanciare le applicazione sul terminale, mi dice “This provisioning profile does not have a valid signature” ho seguito la guida alla perfezione…cè qualche maniera per farli andare ?

  • iPhone 3G(S) – Jailbroken – Appsync installato – seguendo la procedura funziona benissimo senza bisogno di avere nessun tipo di certificato.

  • Ciao,

    senza jailbrake non va.

    Dalla console dell’iphone si vedone errori che non accetta la signature:

    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 verify_executable: Could not validate signature: e800800e
    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 preflight_application_install: Could not verify /var/tmp/install_staging.gCufsR/DoveSono.app/DoveSono
    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 install_application: Could not preflight application install
    Sun Mar 21 09:48:39 unknown mobile_installation_proxy[1029] : handle_install: Installation failed
    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 handle_install: API failed
    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 send_message: failed to send mach message of 64 bytes: 10000003
    Sun Mar 21 09:48:39 unknown mobile_installationd[1030] : 00808a00 send_error: Could not send error response to client
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 verify_executable: Could not validate signature: e800800e
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 preflight_application_install: Could not verify /var/tmp/install_staging.mFFR6K/DoveSono.app/DoveSono
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 install_application: Could not preflight application install
    Sun Mar 21 09:48:48 unknown mobile_installation_proxy[1034] : handle_install: Installation failed
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 handle_install: API failed
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 send_message: failed to send mach message of 64 bytes: 10000003
    Sun Mar 21 09:48:48 unknown mobile_installationd[1030] : 00808a00 send_error: Could not send error response to client

  • Ho fatto tutto come dice la guida ma non mi ricordavo che il mio touch era 3.1.2 e la sdk 3.1.3, mi consigliate di fare un downgrade della sdk o un up del touch anche se più instabile?

  • @Mario: fa niente, basta che segui la guida e modifichi i file relativi alla versione 3.1.2 (oppure 3.1) del tuo SDK..

  • Ho provato a seguire le tue istruzioni,ma ricevo sempre questo errore “This provisioning profile does not have a valid signature. Ho un iphone 2g jb con firmware 3.1.2. e uso xcode 3.2.1.

  • @Daniele: se è jailbroken installa da cydia AppSink for 3.1
    lo trovi sulla repo di BeYouriPhone

  • Ciao io ho seguito la guida ho xcode 3.2 ed iphone 3.1.2 jailbroken, ma continua a darmi questo errore Code Sign error: a valid provisioning profile matching the application’s Identifier ‘com.yourcompany.new’ could not be found

  • Ho risolto!

  • Ciao forse ho capito xk ad alcune persone non va, premetto che il mi ipod touch 2g è jailbrekkato cmq provate anche con quelli normale.
    Allora cliccando due volte sul nome del progetto ho messo nella scheda build alla voce IPHONEOS DEPLOYMENT TARGET la versione 3.0

  • Ciao Andrea!

    piccolo aggiornamento utile a qualcuno:

    – iphone 3GS 3.1.3 JB (con Spirit!)
    – appsync 3.1
    – xcode 3.1.2
    – guida seguita alla lettera 😉
    – incollata questa stringa sul terminale:

    ln -s /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3

    Ho modificato l’ultimo pezzo, dove in un link che avevi postato era 3.0.1

    Prima dell’ultimo passaggio ottenevo sempre l’errore: “Error Starting Executable
    No provisioned iPhone OS device is connected.” in quanto il 3.1.3 non è supportato da questa versione di xcode.

    Cmq nessuno sa se funziona il 3.1.3 con xcode 3.2.2?

  • Ciao a tutti. Un grazie particolare ad Andrea che con la sua guida ha permesso tutto ciò…

    Ho provato con le seguenti configurazioni :
    – Iphone 3gs 16gb 3.1.3 JB by SPIRIT
    – Mac Os x 10.6.3
    – Xcode 3.2.2 (Device 3.1.3 | Release)
    – Appsync 3.1 (from Hackulo.us by Cydia)
    – Istruzione pedissequamente eseguite

    => funziona benissimo!!!

    L’applicazione (stupida o bella che sia) viene perfettamente trasferita su Iphone.

  • Ciao a tutti, io ho un problema.
    Ho seguito la guida alla lettera, il programma si copia ma non si avvia

    la mia configurazione è
    Ipod touch 1g 8gb 3.1.3 JB con Spirit
    xcode 3.2.2 (Device 3.1.3|release)

    l’errore è il seguente

    Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)

  • @TommYeah: Hai installato anche AppSync su iPhone? Dai feedback degli altri utenti sembra che sia necessario..

  • Su iOS4 non va…

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

    c’è qualche altra guida?

  • @canalino: hai installato AppSync sul tuo iPhone? perchè ieri mi hanno confermato che questo procedimento funziona anche su firmware 4.0..

  • iPhone 3GS 16GB (vecchio iboot) OS4 JB (quindi anche con AppSync), non va! P.s.: con il 3.1.2 andava benissimo!
    spero si possa aggirare questo ostacolo…ne ho bisogno per testare le app senza dover ogni volta fare l’odissea dei certificati tramite il DevProgram..
    Grazie in anticipo

  • @Dario: strano, una persona mi ha confermato che sul 4.0 funzionava.. proverò a sentirlo e vedremo di fare ulteriori prove 😉

  • @Andrea: Grazie della risposta. Hai avuto notizie a riguardo? 🙂

  • Ragazzi vi confermo che con il firmware 4.0 questa procedura funziona ancora.
    Ovviamente dovrete modificare la versione dell’SDK che vi interessa, inoltre assicuratevi di avere AppSync installato nei vostri dispositivi (lo trovate in Cydia).

  • Hei funziona davvero!!
    Grazie!

  • Ciao, funziona su iPad os 3.2 con sdk 4.0?

  • ho cercato un po’ in giro e finalmente ho capito perchè mi dava sempre il solito errore del provisioning..

    In ogni caso bisogna avere un dispositivo [b]Jailbreakato[/b] e qui io già mi fermavo perchè il mio è originale.
    In ogni caso un articolo molto dettagliato è questo: http://www.alexwhittemore.com/?p=354

    Spero di essere stato utile 😉

  • @max: purtroppo non ho mai provato, in linea teorica penso di si comunque.. prova e facci sapere 😉
    @Pelice: grazie del link, appena ho tempo ci do un’occhiata e vedo se posso integrare qualcosa 😉

  • ragazzi ma io non riesco ad abilitare l’iphone….m chiede nome utente e password per configurarlo……

    cosa c devo mettere???

  • @andrea: devi mettere quelle dell’iOS Developer Program, ma penso servano solo se hai acquistato la licenza, altrimenti è inutile..

Leave a Reply to Matteo Cancel Reply

Your email address will not be published.

Site Footer