Github è una inesauribile fonte di idee e di progetti interessanti, alcuni enormi altri minuscoli. Mentre spulciavo il sito ieri sera ho notato questo piccolissimo progetto che mi ha colpito molto in quanto l’idea che sta alla base è molto semplice e funzionale, la si potrebbe definire proprio un uovo di colombo, perché non è proprio una soluzione elegante, ma funziona. Il progetto in questione si chiama GroundControl e lo trovate a questo indirizzo, ma cosa fa di preciso?
In breve permette di aggiornare in modo molto semplice alcuni parametri delle nostre applicazioni direttamente via internet. Vediamo di cosa si tratta.
Immaginiamo un esempio pratico: avete realizzato un’applicazione e vorreste fare in modo che ogni giorno appaia un alert con un testo diverso… Cosa dovremmo fare in questo caso? Dovremmo mettere inpiedi un webservice, scrivere il codice nella nostra app per interrogarlo, parsare la risposta in json e tutto il resto. Lavoro non complicatissimo, ma piuttosto “scocciante”. E se invece tutto questo lavoro lo facesse direttamente una libreria?
GroundControl si occupa proprio di questo! In maniera trasparente aggiorna la famosa classe NSUserDefault (ecco perché non la ritengo una soluzione molto elegante) scaricando un file .plist da internet.
Installiamo GroundControl
Ma veniamo all’installazione: prima di tutto dobbiamo scaricare il progetto in una cartella, per farlo ci basterà digitare da riga di comando:
git clone https://github.com/mattt/GroundControl.git
Una volta scaricato il progetto non abbiamo ancora finito, perché questo progetto utilizza AFNewtork per la gestione della rete, quindi spostiamoci sempre con il terminale all’interno della cartella GroundControl, in questo modo:
cd GroundControl
e digitiamo:
git submodule init
git submodule update
A questo punto il progetto è pronto, troverete all’interno della cartella GroundControl la cartella Example dove l’autore ha inserito un progetto di esempio.
Eseguendolo possiamo verificare che viene visualizzato il messaggio “hello world” che non sta di fatto nel progetto, ma viene scaricato da internet:

Come si usa?
Per poter utilizzare GronudControl all’interno dei nostri progetti abbiamo due possibilità, la prima è quella di utilizzare cocoapods (al quale magari dedicheremo un prossimo articolo) oppure importare il framework AFNetwork e i due soli file che costituiscono GroundControl:
NSUserDefaults+GroundControl.h
NSUserDefaults+GroundControl.m
Come si può notare i due file costituiscono una category per la classe NSUserDefaults, che aggiunge alcuni metodi, il più semplice è:
- (void)registerDefaultsWithURL:(NSURL *)url;
che permette appunto di aggiornare NSUserdefault direttamente da un indirizzo web.
Buona programmazione!!!












10 Responses to “Come aggiornare un’applicazione via internet con GroundControl”
8 Settembre 2012
Giacomo Ballifate attenzione. Apple è abbastanza rigida e “soggettiva” quando si tratta di approvare apps che si aggiornano da sole…
8 Settembre 2012
Ignaziocil 90% delle applicazioni attualmente sullo store aggiorna i propri contenuti via internet
9 Settembre 2012
Giacomo Ballic’è molta differenza tra contenuto e codice/shell…
9 Settembre 2012
IgnaziocCapisco, ma forse hai frainteso lo scopo di questa libreria…non puoi certo aggiungere codice ad un’app già rilasciata! Anche perché essendo compilata l’unica possibilità in questo senso è inserire un interprete per un linguaggio di scripting oppure usare il javascript. Questa libreria scarica un plist, operazione equivalente a scaricare in feed rss per fare un esempio.
10 Settembre 2012
LucaIo aspetto il tutorial su cocoapods, avevo chiesto se qualcuno lo usa sul forum, ma non ho ricevuto alcun feedback! mi interessa per tenere le librerie aggiornate, ma non mi è riuscito di capire se una volta installato e settato fa il check delle versioni da solo!!! Ottimo tutorial anche questo!! Bravi
10 Settembre 2012
ignazioccocoapods? vediamo…magari ci scappa uno di questi giorni.
10 Settembre 2012
Gabriele MerlonghiIo personalmente la ritengo una soluzione molto intelligente, sinceramente una cosa simile me la disse parecchio tempo fa un mio amico che sviluppa per la MitotiM.
Non ne ho avuto ancora l’esigienza al momento per le mie App, ma appena ne avrò lo faccio sicuramente in questo modo.
10 Settembre 2012
Lucaè un rumors????????
21 Novembre 2012
Come aggiornare un’applicazione via internet con GroundControl | TCNews24.it[…] il resto dell’articolo cliccando qui GroundControl, Librerie iOS, librerie ios github, librerie ios xcode, librerie opensource, […]
23 Novembre 2012
Come aggiornare un’applicazione via internet con GroundControl | TCNews24.it[…] il resto cliccando qui GroundControl, Librerie iOS, librerie ios github, librerie ios xcode, librerie opensource, […]