
Ecco il nostro secondo articolo relativo all’iSpazio Developers Program. Innanzitutto vi informiamo che abbiamo fissato un giorno, il Venerdi, al quale dedicheremo un’articolo/guida per la creazione di un’applicazione. Il Developers Program di iSpazio è stato molto apprezzato e quindi se continuerete a seguirlo, imparerete a costruire una nuova applicazione per iPhone ogni settimana!
Oggi non vi offriremo una guida, (non è mica venerdì
) ma risponderemo ad una domanda molto importante. E’ un articolo fondamentale per tutti coloro che si approcciano alla programmazione e che stanno iniziando a creare le proprie appliazioni seguendo le nostre guide.
Se avete creato un’applicazione utilizzando l’iPhone SDK avrete sicuramente notato che quest’ultima funziona perfettamente nell’iPhone Simulator, ma che è impossibile trasferirla nel vostro iPhone o iPod Touch. Il motivo è molto semplice. Apple, con il nuovo Firmware 2.0.x, permette soltanto l’esecuzione di applicazioni certificate (o firmate). Ottenere un certificato, significa diventare developers a tutti gli effetti, pagando una quota annuale. Ecco quindi una piccola guida che vi aiuterà a firmare le vostre applicazioni (create attraverso i nostri tutorial), e che vi permetterà quindi di installarle sul vostro iPhone e anche su quello degli altri.
Sul blog di Saurik (l’autore di Cydia) troviamo tre differenti metodi per bypassare la signatura del codice. Noi ve ne proponiamo solo uno, quello, secondo noi, più efficente e forse anche il più semplice nonchè l’unico funzionante.
Ecco i passi da seguire:
1. In Xcode, cliccate sul menù a tendina in alto a sinistra, e scegliete l’opzione “Device - iPhone OS 2.0″, ovvero usiamo il nostro iPhone/iPod come dispositivo per la compilazione dell’applicazione. Poco più sotto sceglete “Release”, in modo da avere un’applicazione compilata in maniera ottimale per essere utilizzata.
2. Cliccate ora sul tasto “Build and Go” (assicuratevi che il vostro iPhone sia sbloccato, altrimenti l’operazione fallirà). Avrete un messaggio di errore come questo:
3. Ora che abbiamo compilato la nostra applicazione, non ci resta che “andare a prenderla”. Entrate nella cartella dove avete salvato il progetto e dove vedrete diversi file, simili a questo screenshot:
Entrate quindi nella cartella “build”. Dovrebbero esserci tre cartelle, rinominate in questa maniera:
- Release-iphoneos
- Release-iphonesimulator
- “nome_progetto”.build
La cartella che ci interessa è la prima, ovvero “Release-iphoneos”. All’interno troviamo ancora due file:
- un’applicazione
- un file .dSYM:
Prendete il primo file (che è in realtà l’applicazione vera e propria) che porta lo stesso nome del vostro progetto (nel nostro caso “my RSS reader”) e copiatela tramite SSH nel nostro iPhone, nella cartella /Applications.
Nota: il simbolo di divieto che vedete sull’icona dell’applicazione è normale, in quanto Mac OS non la riconosce come un’applicazione valida. In effetti è un’applicazione, ma per l’OS dell’iPhone.
4. Avete così messo la vostra applicazione sull’iPhone. Respringate o riavviate l’iPhone, e vedrete l’icona dell’applicazione sulla SpringBoard. NON è ANCORA FINITA però. Infatti, se provate ad aprirla, questa crasherà subito. Perchè? Proprio perchè non è stata ancora certificata.
5. Installate da Cydia il package MobileTerminal, che ci servirà per effettuare l’operazione di certificazione dell’applicazione.
6. Aprite MobileTerminal. Ora dovremo installare uno script creato da Saurik, dal nome ldid. Per prima cosa autentichiamoci come utenti root. Per fare ciò digitiamo:
su root
Vi verrà poi chiesta la password, che è, come sempre, “alpine”.
Nota: mentre digitate la password non vedrete nessun carattere comparire nel terminale, è tutto normale, questo è tipico dei sistemi Unix.
Ora digitiamo il seguente comando:
apt-get install ldid
Questo installerà lo script necessario per la certificazione. L’ldid va scaricato solo una volta. Quindi tutte le future certificazioni saranno più veloci dato che avrete gia tutti i file necessari.
7. Ora non ci resta che signare la nostra applicazione ed avremo finito! Sempre da terminale digitate:
ldid -S percorso_programma
dove percorso_programma è la directory del file che esegue l’applicazione, quindi nel nostro esempio sarebbe /Applications/my RSS reader.app/my RSS reader. Il nostro comando è quindi:
ldid -S ‘/Applications/my RSS reader.app/my RSS reader’
Nota: racchiudete il percorso tra virgolette per non aver problema con gli spazi presenti nel path dell’applicazione.
Ora potete avviare ed utilizzare la vostra applicazione, tutta funziona alla perfezione! Se volete diffonderla agli amici o inserirla nel nostro sito per developers: devs.ispazio.net, vi basta estrarre in SSH il file .app dalla cartella Applications del vostro iPhone.
Ricordiamo che questo venerdì pubblicheremo la guida per la creazione di un’altra applicazione in SDK, ed in particolare imparerete a costruire un’applicazione che vi permetterà la lettura dei feed RSS. Continuate a seguire i nostri corsi ed in bocca al lupo per il vostro successo nel mondo degli sviluppatori ![]()



News Blog
Developers
Mini-Contest
Themes
Sources / Repository
Boot Images
vWallpaper













































































complimenti molto interessante
grandi

siete davvero grandiosi …
l’idea di queste guide è stupefacente e di grande
aiuto agli appassionati come me !
Grazie !
Fabiano nel percorso dell’applicazione puoi racchiudere la path tra gli apostrofi senza dover usare lo slash rovescio. Il tuo esempio diventa così:
ldid -S ‘/Applications/my RSS reader.app/my RSS reader’
Meno caotico xD
ottimo… ma io preferisco fare tutto da mac…. basta creare un certificato e poi dal terminale
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
codesign -fs “nomeCertificato”
ops… ha tagliato un pezzo di codice…
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/
Developer/usr/bin/codesign_allocate
codesign -fs “MobySoft”
Ragazzi…siete i migliori!
secondo me il metodo 2, quello citato da kralizec, è decisamente il migliore
oltre a essere più comodo, più pulito e più veloce, permette l’eventuale distribuzione del programma (tramite cydia\installer).
inoltre perchè compilare l’applicazione in modalità debug? si otterà un eseguibile più pesante e contente le informazioni per gdb, meglio usare la modalità release no?
sulla compilazione hai sicuramente ragione… meglio farla in modalità release… sta li apposta… io l’altro metodo l’ho letto sulla home di cydia, ma Saurik preferisce quello postato (ldid per intenderci, che ha scritto lui) perché non usa mac per lo sviluppo… così puoi farlo da iphone…
E come si crea il certificato?

Semplicemente fantastici. Grazie! Queste erano proprio le guide che aspettavo!
ragazzi scusate il disturbo e l’inesperienza, ma qualcuno mi saprebbe dire dove scaricare il firmware originale 2.0.1 per ipod..grazie ragazzi
nella sezione downloads di questo BLOG ce tutto quello che ti serve
ragazzi scusate l’ ot ma anche a voi adesso e down la reposity di hackmyiphone ??? l’installer quando la aggiorno mi da impossibile aggiornare la source !! rispondetemi please !!!

@ kralizec
Scusa ma per usare l’SDK e quindi sviluppare per iphone non c’è bisogno x forza del mac?
@luca: per usare l’sdk si, ma per programmare in object-c puoi usare anche linux o winzozzo..
non so cosa usi saurik… per leggere il metodo che ho citato (nonché quello della guida) andate sulla home di cydia e scrollate verso il basso… ci dovrebbe essere la voce “bypassing code signature” li dentro c’è scritto tutto… ah… forse bisogna abilitare la modalità developer per vederlo…
MA LO SBLOCCO DELL’IPOD TOUCH?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?
@Daniele
http://www.spaziocellulare.com/ispazio/2008/08/09/le-guide-di-ispazio-sullo-sblocco-degli-iphone-ed-ipod-touch-201/
qui trovi tutte le guide che vuoi
ragazzi so che non centra niente, ma sono disperato ieri ho caricato su, sia il nuovo whinterboard che dock e l iphone andava bene, stamattina l’ho accendo e va lentissimo una cosa scandalosa non mi risponde manco il tochscreen devo piggiare a premere home in modo da fargli leggere il comando, e non riesco manco ad aprire le applicazioni stanno un infinità a caricare help!!!
sto provando ad aggiornare con itunes ma devo fare gli aggiornamenti help
NON AGGIORNARE ALLA 2.0.2!!!
al max prova a ripristinare con il custom firmware
scusA perkè non portarlo a 2.0.2 ? ho un 3g …..
ah scusate il doppio post… anche vuolendo non ho il custom sono a casa a mare, e sono connesso con il modem huawei di tim, che mi scarica a 34 kb al secondo :(. l’ unico modo per riavere l’iphone a disposizione è quello di aggiornarlo via itunes ..
beh, perché non c’è ancora il jailbreak!… ecco perché non è consigliabile aggiornare… però se hai il 3g non corri rischi… al max dovrai usare il mitico quickPwn quando sarà compatibile… scusa l’allarmismo… abitudine…
Scusa fabiano ma nella pagina dell’indice dei tutorial SDK hai scritto “Come firmware” LOL
ultimo ot
ok grazie kralizec.Ora provo il metodo di sbloccare la 2.0.2 con l’attuale quickpwn.Comunque per ora l’unico interesse è riavere l iphone bello e funzionante
darkangel e’ successo anke a me ieri e mi e’ bastato disistallarlo!!!( dopo tantissimi tentativi) ma questo sappi per le prossime volte che non e’ il posto adeatto per parlarne!
ma in così non le si possono certo vendere le app
il ho un iphone 2.0.1 sbloccato ovviamente con winpwn e l’altro giorno ho scaricato da itunes un’applicazione gratis, ma quando collego l’iPhone per copiarla su di esso all’inizio il download su iPhone parte ma poi si ferma dicendomi che impossibile scaricare l’applicazione su iPhone errore ….(il solito errore sconosciuto 0xE8000001)

Vi prego aiutatemi
Aspetto venerdi -tra poco- per la nuova guida!!!!!
Ciao
Ho provato a seguire la guida, ma quando vado ad installare Idid, mi dice che non lo trova!?!
Dove sta il problema?
anche a me stesso problema….non trova il file ldid…
Qualcuno ha qualche soluzione alternativa.
mmh problema quando faccio partire l’ldid:
scrivo
ldid -S /Applications/HelloUniverse.app/HelloUniverse
mi da sto errore:
./minimal/mapping.h(54): _assert(13:false)
qualcuno riesce a interpretarlo?
Grazie!
Ciao a tutti,
ho fatto una banale applicazione, così per provare per iphone.
Funziona perfettamente nel simulatore.
Quando collego l’ìPhone per fare il debug da xcode in modo che esca l’errore 0xE8000001, mi vieni scritto in basso a sinistra: “error from debugger: error launching remote program: security policy error”…e se apro l’app dall’iphone mi da un pop-up con scritto: impossibile aprire l’applicazione. Qualcuno mi sa aiutare?
Grazie!
dimenticavo: ho un iPhone 2G con firmware 2.0.2 pwned…
grazie ancora!
ma questa procedura funziona anche con 2.0.2 custom ?
a me quando compilo in device - release non mi da l’errore descritto e mi installa l’app direttamente nell’iphone (ovviamente non parte perchè non firmata) …
esegui ldid senza ottenere nessuna risposta ma l’app non ne vuole sapere di partire …
come mai ?
Scusate ma una volta esguita questa procedura posso installare le applicazioni anche su iPhone 3G bloccati (senza il JailBrake) ?
Grazie Mille !!!!
Scusate, potreste spiegare meglio il secondo metodo? Soprattutto come creare un certificato (scusate l’ignoranza).