[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.

Andrea Busi | @bubidevs

Laureato in Ingegneria Informatica, ho fondato nel 2008 questo piccolo blog, in cui racconto le mie esperienze e i miei pensieri sul mondo dell'informatica. Nella vita mi occupo di sviluppo software, e nel tempo libero continuo a coltivare la mia passione per il mondo iOS.

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

  1. Andrea Busi scrive:

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

  2. Francesco scrive:

    Scusate raga mi da questo errore quando faccio build & run

    No provisioned iOS device is connected.

  3. Francesco scrive:

    Credo possa dipendere dal fatto che ho una versione 4.0 mentre l’sdk è per 4.2 dove trovo la 4.0? sul sito della apple non la vedo

  4. Andrea Busi scrive:

    @Francesco: ciao, quell’errore è perchè compili in modalità “Device” e non hai nessun dispositivo collegato..

  5. Francesco scrive:

    SI ma io l’ho collegato! ho seguito la guida e ho collegato l’iphone dopo aver fatto hello world ma non lo carica su device proprio perchè non lo trova e non capisco come mai

    Please help me!

  6. Andrea Busi scrive:

    @Francesco: in Organizer controlla che il tuo dispositivo sia abilitato per lo sviluppo ;)

  7. conca scrive:

    Ciao, io ho seguito tutte le istruzioni ma mi da errore e mi dice che è necessario il signing code
    io ho sdk 4.3 … l’ultimo … è incompatibile con questa guida o sbaglio io qualche cosa ?

  8. Andrea Busi scrive:

    @conca: probabilmente la guida non è compatibile, funzionava con il firmware 3.0, con iOS 4 penso che non sia più possibile utilizzare questo metodo..

  9. Federico scrive:

    Ho testato la guida con un iPod Touh 4G e iOS5 con jailbreak tethered effettuato con Redsnow 0.9.9b7 e funziona perfettamente con XCode 4.2 e Lion 10.7.2. Bisogna ricordarsi però di impostare “Dont code sign” nell’opzione “Code signig identity” come mostrato in questa immagine http://imageshack.us/photo/my-images/337/dontcodesign.png

  10. Andrea Busi scrive:

    @Federico: Ottimo, grazie della conferma ;).. Comunque esatto, è anche scritto nella guida ;)

  11. Federico scrive:

    Azz non avevo visto :)

  12. BySpy scrive:

    Ho fatto la procedura, quando premo su RUN, mi installa l’applicazione nel telefono e tenta di aprirla, ma si chiude e sul PC spunta il messaggio d’errore: error launching remote program failed to get the task for process 997
    dove sbaglio?

  13. Andrea Busi scrive:

    @BySpy: Purtroppo questo è uno dei problemi più comuni. Assicurati di aver seguito tutti i passaggi e soprattutto di aver installato AppSync. Se non funziona ancora non saprei proprio cosa dirti..

  14. BySpy scrive:

    Ciao Andrea, grazie per la risposta, penso di aver seguito con attenzione la guida ma le app sull’iphone vanno in crash, ho provato ad usare il “vecchio” OS 4.3 con Xcode 3.2.6 e riesco ad installare correttamente le applicazioni sul mio Iphone 4 con IOS 5.
    Boh!
    pazienza

  15. Stefano scrive:

    Ciao, grazie mille della guida, io ho un problema, non so se va o non va ho un iphone 3gs jb con software 4.3, faccio tutti i passaggi poi quando su xcode do buil mi da errore
    ld: symbol(s) not found for architecture armv7
    collect2: ld returned 1 exit status
    e anche mettendo armv6 non cambia.
    Perchè?
    Grazie mille

  16. Andrea Busi scrive:

    @Stefano: Ciao, il tuo problema è un po’ strano. Il problema è sull’architettura su cui compila, ma se hai provato già entrambe la cosa è un po’ più intricata. Ho provato a cercare un po’ su Internet e la cosa potrebbe essere dovuta a qualche libreria esterna che hai utilizzato. Prova a controllare e a cercare su internet magari con l’intero messaggio di errore, forse una soluzione la trovi ;)

  17. Enzo scrive:

    Ciao a tutti! Premetto che ancora non ho sbloccato l’iphone con iOs 5.0 ma a breve lo farò proprio per questo motivo, la mia domanda è questa: quando acquisterò la licenza da sviluppatore (appena prenderò un po’ più di pratica con il linguaggio) e vorrò inviare le apps ad Apple, basterà fare i passaggi inversi per risistemare tutto?

  18. Andrea Busi scrive:

    @Enzo: Ciao! Certamente, le modifiche da fare sono “superficiali”, basta appunto fare i passaggi inversi e riportare tutto come era prima, non avrai nessun problema ;)

  19. simone scrive:

    ma se ho ios 5.0.1 funziona lo stesso questa guida? perchè ho provato ma mi dice build failed..

  20. Andrea Busi scrive:

    @simone: Non ho avuto modo di testarlo su iOS 5.0.1, ma penso che non ci sia nessun problema di funzionamento. Sei sicuro di aver eseguito tutti i passaggi correttamente?

  21. Angelo scrive:

    stesso cosa che è accaduta a simone controllato e ri controllato ( ios 5.0.1)

  22. andre scrive:

    salve, io ho provato ma non va! ho xcode 4 con iPhone 3g jb e appsync. ho fatto tuta la procedura e non mi da nessun errore, anzi quando lancio l’app con run sul device iphone mi dice: finished running ….. ma nell’iphone nessuna traccia dell’app da me creata!!!! come mai?? cosa sbaglio??? grazie

  23. andre scrive:

    dimenticavo il mio iphone supporta solo il 4.2.1 ;-)

  24. Andrea Busi scrive:

    Purtroppo ragazzi non riesco ad esservi di aiuto. Io la guida l’ho scritta e testata personalmente, seguendo alla lettera tutti i passaggi a me funziona correttamente.
    Purtroppo è una procedura un po’ “artigianale”, quindi non sempre funziona. Comunque proverò a cercare se esiste una soluzione più affidabile, speriamo! ;)

  25. vito scrive:

    ciao io ho provato questa guida per un iphone jb 5.0.1, però mi esce questo errore “Error launching remote program: failed to get the task for process 895.” sta per aprirmi l’app ma poi si blocca e va nella home.
    cosa potrei fare?

  26. gmonna scrive:

    Ho fatto tutto il procedimento correttamente, però non riesco ad impostare il mio iPhone come test device, non c’è alcun pulsante per renderlo tale, a te vicino a ‘Provisioning’ c’è scritto ‘Device Test, iOS Team Provisioning Profile: *’, a me c’è scritto ‘No Provisioning Profiles’ ! Come posso risolvere? Grazie ;)

  27. Andrea Busi scrive:

    @gmonna: No quelli sono due certificati miei, che si ottengono nel portale sviluppatori (con la licenza). Se Xcode riconosce il tuo iPhone deve esserci il bottone “Use for deployment”, basta impostarlo, non servono certificati..

  28. Luca scrive:

    Io non riesco a trovare la cartella Developer, il problema è che xcode è stato installato correttamente tramite App Store…non capisco perché :(

  29. Luca scrive:

    Sono riuscito a trovarla, non so come ma era nel cestino, comunque mi dice CodeSign error: code singing is required :(

  30. Luca scrive:

    iOS 5.0.1 con xcode 4.4

  31. Andrea Busi scrive:

    @Luca: A partire da Xcode 4.3 (e quindi anche la 4.4 dedicata a Mountain Lion) Xcode non viene più installato nel percorso “/Developer”, ma è un’unica app contenuta in Applicazioni. Per modificare i file necessari, quindi, vai in “Applicazioni -> Xcode -> Mostra contenuto pacchetto” da li poi prosegui nel percorso indicato nella guida.
    Lascia perdere la copia presente nel cestino, quella puoi pure cancellarla ;)

  32. simone scrive:

    ho seguito le istruzioni alla lettera… con xcode 4.2 funzionava alla perfezione, ma adesso mi dà l’errore e non capisco perchè… magari apple ha cambiato qualcosa riguardo il controllo della validità della licenza…

  33. Aspire scrive:

    io ho risolto il problema “CodeSign error: code singing is required” semplicemente chiudendo e riaprendo xcode dopo aver settato nella build settings i campi “code signing” tutti su “don’t code sign”

  34. tiziano scrive:

    ho un iphone 4, ho sviluppato un anno fa un’app in xcode 3.2.4 che girava perfettamente con jb di firmware 4.x
    ieri mi è andato in crash l’iphone e cosi ho dovuto ripristinarlo e adesso ho il fw 5.1, jb con ultrasnow Ho qualche possibilità di installa re tramite xcode 3.2.4 l’app su 5.1?
    grazie 1000

  35. Andrea Busi scrive:

    @tiziano: Io ho testato la guida su iOS 5.0 e funzionava correttamente. Non so dirti se funziona anche su iOS 5.1, io penso non ci siano problemi, bisogna seguire passo passo la guida e fare, ovviamente, le opportune modifiche per adattarla all’ultimo Xcode ;)

  36. iLucas scrive:

    “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”:” lo ho fatto, bene non mi porta l’applicazione sull’iPhone mi dice errore ”
    [BEROR]CodeSign error: code signing is required for product type ‘Application’ in SDK ‘iOS 5.0′” say spiegarmi il perchè?? sono alle primissime army con xCode…

  37. Filippo scrive:

    A me nella prima schermata che viene mostrata nella guida (Window –> Organizer) alla voce Provisioning mi indica “No provisioning profile”.
    Se provo a fare “Add Device to provisioning portal” non melo permette, dicendomi “The indicated user is not on any iPhone Development Teams”.
    Come devo fare per procedere?
    Eppure mi sono registrato come developer Apple!

  38. Filippo scrive:

    Risolto, scusate mi ero perso i passaggi in cui spiegavi la stessa cosa;)

  39. gmonna scrive:

    Ho un problema, ho aggiornato ad iOS 5.1.1 il mio iPhone 4s, ho fatto il jailbreak untethered e rieseguito tutta la procedura. Riesco ad installare le mie app sull’iPhone, solo che quando tento di aprirle, crashano immediatamente, non si aprono nemmeno. Come risolvo? Grazie :)

  40. Fede scrive:

    Anche qui stesso problema di gmonna, su iPhone 4!
    fino a ieri le mie 3 o 4 apps fatte con Xcode giravano alla grande (su 5.0.1,) ora crashano tutte quando le lancio su (5.1.1)!
    invece sull’iPhone simulator tutto ok…
    preciso che anche un’app vuota crasha all’avvio! ho installato ovviamente AppSync e tutto il resto funziona benissimo!

    peccato perchè volevo farne vedere una ad un cliente proprio questa settimana! avete consigli? ho già anche ripristinato e rifatto il jb, reinstallato appsync ecc ma senza successo! Xcode è sempre configurato giusto e le app hanno il “don’t code sign” nelle build settings… che sia un bug di absinthe?

  41. Andrea Busi scrive:

    @gmonna: Ciao, sei sicuro di aver installato AppSync? È il tweak che permette di eseguire app non certificate, probabilmente ti manca quello ;)

    @Fede: Ciao, purtroppo se hai seguito tutta la procedura e non ti funziona non saprei come aiutarti. Se si tratta di lavori per clienti penso che valga la pena acquistare la licenza, la spesa è davvero bassa (80 €), così eviti problemi e vai tranquillo ;)

  42. Fede scrive:

    @Andrea Busi: Si certo farò così… Solo mi chiedo cosa ci sia che non va!! Stesso procedimento del 5.0.1 ma qui nulla… Magari ha davvero qualcosa a che vedere con absinthe! Grazie Andrea per il consiglio, complimenti anche per il tuo libro, l’ho acquistato ormai da un’annetto ed è grazie a te che ho iniziato!!

  43. Andrea Busi scrive:

    @Fede: Potrebbe essere, oppure con iOS 5.1 hanno introdotto ulteriori protezioni, non saprei! Comunque grazie, per qualsiasi cosa sai sempre dove trovarmi ;)

  44. Antonio scrive:

    Ciao Andrea, sto cercando di scaricare il classico HelloWorld compilato su Xcode sul mio iPad.

    L’ambiente è il seguente:
    iPad2,1
    iOS 5.1.1 con jailbreak
    Mac OS X 10.7.4
    Xcode 4.3.1
    AppSync for iOS 5.0+

    Ho seguito la tua procedura (almeno credo e spero) per fare il deploy di una semplice app sull’iPad e quello che ottengo è … niente … nel senso che apparentemente va tutto bene ma non mi ritrovo alcunché sull’iPad.

    L’unica cosa che credo sia da segnalare è che quando, in Organizer, ho abilitato il dispositivo per lo sviluppo mi ha chiesto un identificativo (purtroppo non ricordo bene il termine che è comparso nella richiesta).
    Qui ho annullato e poi non ho avuto più alcuna segnalazione.

    Quello che succede quando faccio Product->Build for->Running è che non ricevo alcuna segnalazione di errore ma sul dispositivo non trovo traccia dell’app.

    Puoi darmi qualche dritta per capire dove ho o sto sbagliando.

    1000 grazie.
    Antonio

  45. Antonio scrive:

    Dimenticavo:
    CODE_SIGNING_REQUIRED = NO
    “Code Signing Identity” tutti impostati a “Don’t Code Sign”

    Ciao.

  46. Andrea Busi scrive:

    @Antonio: Ciao, purtroppo se hai seguito la procedura e non funziona non posso esserti molto d’aiuto. Mi sembra strano che Xcode non ti dia nessun errore, solitamente o da errore oppure l’app compare sul dispositivo ma poi non funziona. Sicuro di aver selezionato “iOS Device” nel menù a tendina di Xcode?

  47. Alessandro scrive:

    Ciao ragazzi, mi sto avvicinando da poco ad xcode e la progettazione di app. Volevo chiedere se questo tutorial funziona con Xcode 3.1.4 e SDK Iphone 3.1.3. Grazie

  48. Andrea Busi scrive:

    @Alessandro: Ciao, la procedura è del tutto simile anche per Xcode 3.x. Troverai, ovviamente, un po’ di differenze nel tool, però i passi da seguire sono sostanzialmente gli stessi ;)

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">