2013-04-14 10 views
12

Sto lavorando a un progetto iPhone che utilizza i dati principali e cerca di capire come cercare facilmente i dati memorizzati. Nello specifico, sto memorizzando le immagini nei dati principali, e voglio vedere quanto spazio occupano, ecc.Come sfogliare i dati di base nella mia app in esecuzione sul mio iPhone?

Ho trovato un'app chiamata "Core Data Editor" che ti consente di sfogliare i dati principali su un iPhone simulatore, ma non è molto utile nel mio caso, poiché sto memorizzando le immagini scattate dalla fotocamera. C'è un modo per navigare facilmente ciò che viene memorizzato sulla mia app?

risposta

9

PonyDebugger è lo strumento necessario, ti consente di sfogliare il tuo negozio di dati principali e molti altri aspetti della tua applicazione in esecuzione. È gratuito, basta scaricare, aggiungere alla tua app ed eseguire il server locale sul tuo computer di sviluppo a cui parla Pony Debugger.

+0

Wow, questo è un ottimo strumento. Grazie per la risposta! – Vlad

+0

Ciao, ho appena iniziato a usare PonyDebugger dopo la tua raccomandazione. Finalmente ho funzionato ed è bello, ma sto avendo problemi a trovare la dimensione reale del contenuto dei dati di base, che è la cosa più importante che sto cercando. Sai se PonyDebugger ha questa funzione? Mi sto perdendo qualcosa? – Vlad

+0

Penso che dovresti essere in grado di vederlo in Storage - cerca il contenuto del database, ma potrebbe anche esserci una directory in cui Core Data sta memorizzando file più grandi. –

1

Trova la posizione del database sqlite sulla tua sim.

Poi, nel Terminal, utilizzare un comando come questo:

sqlite3 myDataBase.sqlite 

Al prompt sqlite>, tipo

.dump 

sul simulatore, sarà situato da qualche parte come:

~/Libreria/Application Support/iPhone Simulator/[Versione SO]/Applicazioni/[appGUID]/

+1

Ma la domanda riguarda specificamente l'esecuzione sul dispositivo, non sul simulatore. –

20

Se non è necessario visualizzare queste informazioni in tempo reale, l'Organizer di Xcode vi permetterà di scaricare la directory sandbox di eventuali applicazioni di sviluppo sul dispositivo:

  1. Collegare il dispositivo al Mac.
  2. Apri la finestra Organizer di Xcode nella scheda Dispositivi.
  3. Nell'elenco sorgente, selezionare la voce Applicazioni sotto il dispositivo.
  4. Scegli la tua applicazione dall'elenco nella parte principale della finestra.
  5. Utilizzare il pulsante Download nella parte inferiore della finestra per copiare la directory sandbox sul Mac.
  6. I dati vengono scaricati in un pacchetto, quindi fare clic con il tasto destro del mouse nel Finder e selezionare Mostra contenuto pacchetto.

Da lì, uno dei tanti strumenti disponibili per aprire/ispezionare lo spazio di archiviazione dei dati di base o SQLite dovrebbe funzionare per voi.

È possibile utilizzare questo pacchetto anche quando si esegue l'app nel simulatore o sul dispositivo per forzare l'esecuzione in uno stato noto. Ciò può essere estremamente utile quando si eseguono il debug di operazioni come migrazioni di dati di base o strani stati non validi.

20

Per visualizzare CoreData da un dispositivo:

Collegare il dispositivo -

Inizio Xcode

Nel menu Xcode in alto -

Selezionare Finestra -

Seleziona periferiche -

Seleziona il tuo dispositivo -

Seleziona l'app -

Seleziona l'icona Impostazioni (ingranaggio a forma di simbolo a destra di "+ -") -

Selezionare Scarica contenitore -

Salva in una cartella -

avrà un'estensione di ".xcappdata" -

Apri Firefox

(Se non si dispone già di esso - ottenere il browser FireFox SQLite Manager collegare) Selezionare l'icona SQLite Manager in alto a destra (si presenta come un barile a righe)

Selezionare l'icona della cartella aperta

il cambio formato [file SQLite DB] per tutti i file

individuare e selezionare il database

Oltre alle tabelle e colonne (scusate - Enti e attributi) si è creato in CoreData - si vedrà un paio di colonne in più creato da CoreData stesso.

Spero che questo aiuti qualcuno. È un po 'un orso, ma vale la pena di vedere il tuo database "in carne"

Problemi correlati