Categorie
Sviluppo software Tutorial

iOS Tips | Come estrarre DB SQLite dal simulatore iPhone/iPad

Ios Tips estrarre file SQLite dal simulatoreSviluppando app per iOS è comune dover disporre di un layer di persistenza locale, e una delle scelte comuni, per modelli dati non trivial è quello di usare un DB SQLite e gestirlo attraverso Core Data o con uno dei molti wrapper a disposizione come Magical Records o simili.

Durante lo sviluppo, vuoi per un controllo sulla coerenza dello stato dei record, o per un’operazione di debug più approfondita può essere necessario accedere direttamente al database SQLite estraendolo dal simulatore durante il test dell’applicazione.

Vediamo come attraverso due semplici comandi.

Come estrarre il file SQLite dal simulatore

Estrarre il file dal simulatore è molto semplice, visto che di fatto si tratta di un file fisico sul disco del computer utilizzato per sviluppo. Per estrarre il file è sufficiente e aprire un terminale, digitare il comando seguente (o raggiungere la stessa cartella via Finder):

cd ~/Library/Application Support/iPhone Simulator/7.0.3-64/Applications

ovviamente avendo cura di sostituire il valore 7.0.3-64 con quello della versione di iOS usata dal simulatore avviato nel vostro ambiente di sviluppo.

Dentro questa cartella ci sono una serie di cartelle con nomi composti da sequenze randomiche di caratteri, come mostrato in figura sotto:

Contenuto cartella simulatore iOS
Contenuto cartella simulatore iOS

Queste cartelle contengono i dati relativi a diverse run del simulatore ed in particolare le informazioni inerenti alle app testate. Nel caso ci siano diverse cartelle e non si voglia perdere tempo a cercare dentro ognuna la app sotto test è anche possibile rimuoverle tutte e rilanciare il simulatore in modo che ne ricrei soltanto una.  In ogni caso dentro alla cartella ci sono:

  • una cartella Documents che contiene il DB SQLite cercato;
  • un cartella NomeApplicazione.app che contiene i file .xib, .plist e le immagini usate per la UI
Prendendo il file SQLite dalla cartella Documents, e copiandolo in una posizione a piacere del filesystem sarà possibile utilizzare un SQLite browser qualsiasi per osservarne il contenuto e debuggare lo stato dell’applicazione.

Perchè usare SQLite su dispositivo mobile

SQLite è un sistema di DB on a file che ha trovato largo impiego sui dispositivi mobili per la sua duttilità derivante dal consentire, tramite un semplice file binario, uno storage relazionale di un modello dati anche molto grande e complesso. Le performance in lettura e scrittura  sono di assoluto riferimento, tanto che spesso durante lo sviluppo di una app lo storage SQLite viene usato come cache per richieste I/O più lente come per esempio le request REST verso una API di backend.

Questi motivi, uniti alla disponibilità di librerie ORM che consentono di astrarre le operazioni CRUD sul database, rendono la scelta di un layer di persistenza di questo tipo sempre più diffusa non solo per le esigenze di storage classico, ma anche per quelle di serializzazione non volatile (stato applicazione fra molteplici ViewController, recupero in caso di crash, metainformazioni, etc).

ELbuild sviluppa app iOS e Android dal 2010, affidati a noi per portare la tua idea imprenditoriale sui dispositivi mobili. Visita la sezione Contatti del nostro sito web per sapere come possiamo esserti d’aiuto.

Di Luca Adamo

Luca Adamo si è laureato con lode in Ingegneria delle Telecomunicazioni all'Università degli studi di Firenze ed è dottorando in Ingegneria Informatica, Multimedialità e Telecomunicazioni, sempre nella stessa facoltà. Le sue competenze tecniche includono lo sviluppo software, sia orientato al web che desktop, in C/C++ e Java (J2EE, J2SE, J2ME), l'amministrazione di macchine Unix-based, la gestione di reti di telecomunicazioni, ed il design di database relazionali.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.