Eccoci con il sesto tutorial dell’iSpazio Developer Program! Purtroppo in queste settimane non siamo riusciti a pubblicare i tutorial con la solita puntualità, vedremo di rifarci nelle prossime settimane.
Vi proponiamo oggi un piccolo tutorial, ma con un’interessante novità! Creeremo un’applicazione per rilevare l’indirizzo IP del proprio iPhone/iPod Touch. Molto semplice direte voi. La novità, però, sta nel fatto che il codice sarà opensource (come i precedenti tutorial) e la migliore applicazione da voi creata troverà posto nelle Community Soruces tramite la repository di iSpazio! Ebbene si, leggete questo tutorial, create una bella grafica, aggiungete altre funzioni (ad esempio indirizzo MAC, indirizzo IP del router, etc).. e la migliore versione sarà hostata da noi, con il vostro nome!
Quindi cosa aspettate? Seguite il tutorial e impegnatevi nel creare la migliore applicazione possibile!
TUTORIAL:
- Creiamo un nuovo progetto
- Creare l’interfaccia grafica dell’applicazione
- Creiamo le classi necessarie
- Aggiungiamo il codice necessario
1. Creiamo un nuovo progetto
Aprimo Xcode, selezioniamo “File -> New Project”. Nel menù che ci appare selezioniamo “ViewBased Application”, clicchiamo su “Choose…” e immettiamo come nome “SearchIP” e fate clic su “Save”. Abbiamo così creato il nostro nuovo progetto.
Prima di fare qualsiasi altra operazione, selezioniamo nell’editor Xcode la cartella “Resources” del nostro progetto ed eliminiamo il file “SearchIPController.xib”. Basterà cliccare con il tasto destro sul file, selezionare “Delete” e poi cliccare su “Also move to Trash”.
2. Creare l’interfaccia grafica dell’applicazione
Una volta eseguite queste semplici operazioni, andiamo a creare l’interfaccia grafica della nostra applicazione. Facciamo doppio click sul file “MainWindow.xib”, si aprirà così l’Interface Builder, con cui ormai abbiamo già preso conoscenza.
Selezioniamo la vista della nostra applcazione, e apriamo l’Attribute Inspector. Nel campo “NIB Name” eliminiamo la voce “SearchIPViewController” (semplicemente cancellando il testo), ovvero il file che abbiamo cancellato in precedenza.
Se premiamo poi invio e torniamo a selezionare la vista vedremo che essa ha mutato la scritta centrale, ed ora apparirà così:
Ora, dalla libreria (”Tools -> Library”) selezioniamo un componente di tipo “View” e trasciniamolo nella nostra applicazione. Andiamo poi in “Identity Inspector” e in Class scriviamo “MainView”.
Abbiamo creato la vista principale della nostra applicazione che, se vogliamo, possiamo personalizzare a nostro piacere (ad esempio impostando un colore di sfondo diverso dal classico bianco).
Dalla libreria prendiamo un componente “Label” e trasciniamolo nella nostra vista. Cambiamo il testo e scriviamo “Indirizzo IP:”. Prendiamo un’altra label e trasciniamola ancora all’interno della vista, questa volta cancellando il testo al suo interno. Avremo un risultato come questo:
3. Creiamo le classi necessarie
Fino ad ora ci siamo occupati puramente degli aspetti grafici della nostra applicazione. Vediamo ora di aggiungere i controlli che ci serviranno.
Restiamo sempre nell’Interface Builder, e assicuriamoci di aver selezionato la vista principale. Andiamo nell’Identity Inspector, e controlliamo che in “Class” vi sia selezionata “MainView” che abbiamo scritto in precedenza. Aggiungiamo l’unico componente che ci occorre, nel seguente modo:
Ora dobbiamo collegare questo oggetto con la label che abbiamo creato in precedenza. Entriamo nel pannello “Connections” (Connections Inspector). Prendiamo il pallino a fianco di “labelIP” e trasciniamolo nella label vuota dell’applicazione, quella a fianco di “Indirizzo IP”. Avremo quindi il pannello che mostrerà le seguenti proprietà:
Ora non ci resta che salvare le proprietà che abbiamo appena impostato in un file di classe. Andiamo nel menù “File -> Write Class Files…” e salviamo la classe “MainView” nella cartella Classes del nostro progetto.
Clicchiamo su “Save” e nella schermata successiva selezioniamo il nostro progetto prima di cliccare su “Add”.
Possiamo ora chiudere l’Interface Builder cliccando su “Save” nell’avviso che ci comparirà.
4. Aggiungiamo il codice necessario
Ora passiamo alla scrittura del codice in Xcode. Iniziamo spostando i due file (”MainView.m” e “MainView.h”) all’interno della cartella “Classes”:
Apriamo il file “MainView.h” e modifichiamo il codice nel seguente modo:
Non abbiamo fatto altro che aggiungere “UIView” nelll’intestazione.
Ora apriamo il file “MainView.m” e aggiungiamo il seguente metodo:
In questo semplice metodo cosa facciamo? Istanziamo un oggetto di tipo NSHost, poi eseguiamo un controllo: se l’oggetto è stato creato correttamente vuol dire che è attiva una connessione, quindi ritorniamo il valore dell’indirizzo IP, altrimenti (in caso negativo) ritorniamo l’indirizzo di loopback (quello che è di default in ogni dispositivo).
Ora dobbiamo solo creare il metodo “awakeFromNib”, che verrà richiamato quando viene caricata l’applicazione. Modifichiamo il metodo nel seguente modo:
Abbiamo già completato la nostra applicazione!
NOTA IMPORTANTE: purtroppo se provate a cliccare su “Build and Go” e ad eseguire questa applicazione nel simulatore questa crasherà! Per eseguirla correttamente dovrete quindi trasferirla nel vostro iPhone/iPod, signarla e poi sarà funzionante. Potete fare tutto ciò semplicemente seguendo la nostra guida a riguardo.
.
Se Avete Problemi, questo è il nostro file di progetto.
Inviate la vostra applicazione a bubidevs@gmail.com e la hosteremo in cydia
.
[iSpazio Andrea Busi]
Leggi o Aggiungi Commenti