2016-03-11 35 views
5

Sto lavorando su una libreria con un modulo logger molto dettagliato che, su iOS, scrive i registri xml su NSDocumentDirectory in una struttura di file coerente. Voglio trovare un modo per l'utente di questa libreria di accedere facilmente a questi registri.Recupero file iOS - NSDocumentDirectory

So che è semplice recuperare i file da questa directory, ma è possibile accedere a questa directory su un dispositivo fisico iOS in qualsiasi modo dall'esterno Xcode per recuperare questi registri? Mi sembra di averlo visto da qualche parte prima, qualcosa nel modo di estrarre il file .ipa e andare nel contenuto del pacchetto, ma potrei sbagliarmi.

---------------------------------------------- -----------MODIFICARE-------------------------------------- ----------------------------

Questo (Browse the files created on a device by the IOS application I'm developing, on workstation?) è come farlo con Xcode su un dispositivo, ma ho presumere che ci sia un modo in cui possiamo creare che ottiene i registri di un dispositivo per un utente.

+0

Non 'UIFileSharingEnabled' funziona per te? Un utente non tecnico sarebbe in grado di estrarre i file di registro dalla directory dei documenti utilizzando iTunes o un'app di terze parti come iExplorer. – Vin

+0

Non ci avevo pensato. La mia ricerca iniziale sembra mostrarmi che funzionerà, quindi puoi postare una risposta mentre provo, quindi posso darti credito se lo fa? – dokun1

risposta

1

è possibile accedere a questa directory su un dispositivo fisico iOS in qualsiasi modo dall'esterno Xcode per recuperare questi registri?

È possibile esporre la directory Documents abilitando la condivisione di file iTunes. Quando la condivisione dei file è abilitata attraverso questo metodo, il contenuto della directory sarà visibile all'utente in iTunes, che può anche essere esportato. I documenti sarebbero visibili anche per l'esportazione attraverso alcune app desktop di terze parti come iExplorer.

Here è il collegamento alla documentazione Apple. Si può anche fare riferimento al thread this per capire come è fatto.

+1

FYI - generiamo la nostra libreria utilizzando Cmake dal codice multipiattaforma, quindi questo significa che potremmo dover creare un progetto di esempio con questi due tasti attivati ​​in plist da zero. Lo scripteremo, ma grazie mille !!! – dokun1

1

Se stai usando un simulatore (a quanto pare il vostro compito non sembra avere bisogno di te vero e proprio dispositivo) siete fortunati.

Si dovrebbe andare a una cartella simile a questo:

/Users/[YOUR_USER_NAME]/Libreria/Developer/CoreSimulator/Devices/[RANDOM_HASH_YOU_SHOULD_DISCOVER]/dati/Contenitori/dati/Applicazioni/[RANDOM_HASH_2_YOU_SHOULD_ALSO_DISCOVER]

Una volta lì, con il cercatore, si otterrà la cartella "documenti" del simulatore e l'applicazione si sta cercando di recuperare i registri da.

si potrebbe dire: non so cui 2 RANDOM_HASHES dovrei andare. Sì, hai ragione. Se hai molti simulatori installati e/o usati, potrebbe essere difficile scoprire qual è quello che stai cercando di eseguire il debug. La stessa cosa con la tua APP, la tua app vivrà in un'altra cartella RANDOM_HASH, e dovresti sfogliarli, uno per uno, e poi scoprire la cartella dei tuoi documenti.

Qualcuno aveva bisogno di risolvere questo "pasticcio" e ha creato un Xcode Alcatraz Extension che ti porta al simulatore live e all'app che stai eseguendo il debug in un dato momento, e quindi non hai bisogno di indovinare quali 2 percorsi random_hash devi navigare.

Se Xcode + Alcartaz Extension Manager plug-in è un po 'fuori dalla vostra portata, potrebbe essere necessario google. Non è un processo difficile.

PS: Quella magica estensione di Alcatraz si chiama "XCodeWay" (nel caso tu sia abbastanza coraggioso da installare Alcatraz sulla tua copia di XCode).

EDIT: Link utili per ottenere Alcatraz: http://alcatraz.io/ seguirne le semplici istruzioni e il gioco è fatto.

EDIT2: Se Xcode non può essere usato, quindi l'ultima domanda in questo altro thread potrebbe tornare utile: Browse the files created on a device by the IOS application I'm developing, on workstation? (Ancora, sarà necessaria un'applicazione esterna nella macchina utenti)

+0

Aggiornerò la domanda, la risposta è corretta per il simulatore, ma ne ho bisogno per i dispositivi iOS. – dokun1

+0

Ok allora ... All'interno di Xcode vai a Finestra -> Dispositivi. Una volta lì, seleziona il tuo dispositivo reale e posso ricordare qualche tipo di opzione "tasto destro" da qualche parte che ti consente di sfogliare (in modo scadente) il contenuto della sandbox del tuo dispositivo. Ma non ricordo se è possibile scaricare questi file – Isaac

+0

Xcode è fuori questione. Ho bisogno che un utente non sviluppatore sia in grado di accedere a questi registri. – dokun1