Esiste un modo per visualizzare il registro della console in tempo reale per visualizzare NSLog e altri messaggi di debug in tempo reale, come adb logcat?
Esiste un modo per visualizzare il registro della console in tempo reale per visualizzare NSLog e altri messaggi di debug in tempo reale, come adb logcat?
Risposte:
La soluzione documentata da Apple in Domande e risposte tecniche QA1747 Debug delle app iOS distribuite per Xcode 6 è:
printdichiarazioni non vanno al registro, solo a stdout. Usa NSLoginvece. Oppure potrebbe essere possibile reindirizzare stdouta un file con del codice aggiunto. Gli arresti anomali vengono registrati ed è possibile accedervi utilizzando il pulsante "Visualizza registri dispositivo".
MODIFICA: utilizza la soluzione @cbowns: deviceconsole è compatibile con iOS9 e molto più facile da usare.
Questo è un programma open source che mostra il registro di sistema di iDevice in Terminal (in un modo simile a tail -F). Non è richiesto alcun jailbreak e l'output è completamente grep'able in modo da poter filtrare per vedere solo l'output dal programma. La cosa particolarmente positiva di questa soluzione è che puoi visualizzare il registro indipendentemente dal fatto che l'app sia stata avviata in modalità debug da XCode.
Ecco come:
Prendi il binario libimobiledevice per Mac OS X dal mio account github su https://github.com/benvium/libimobiledevice-macosx/zipball/master
Segui le istruzioni di installazione qui: https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
Collega il tuo dispositivo, apri Terminal.app e digita:
idevicesyslog
Viene visualizzata una visualizzazione in tempo reale del registro di sistema del dispositivo.
Essendo un'app per console, puoi filtrare il registro utilizzando i comandi unix, come grep
Ad esempio, vedi tutti i messaggi di registro da una particolare app:
idevicesyslog | grep myappname
Tratto dal mio blog all'indirizzo http://pervasivecode.blogspot.co.uk/2012/06/view-log-output-of-any-app-on-iphone-or.html
No device found, is it plugged in?
brew uninstall libimobiledevice ideviceinstaller && brew install --HEAD libimobiledevice ideviceinstaller
Due opzioni:
libimobiledevice è installabile tramite homebrew e funziona alla grande. Il suo idevicesyslogstrumento funziona in modo simile a deviceconsole(sotto) e supporta la visualizzazione in modalità wireless del syslog del dispositivo (!)
Ho scritto di più su questo su Tumblr tl; dr:
brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
con il dispositivo connesso tramite USB o disponibile sulla rete wireless locale.
Dal 2013: deviceconsole di rpetrich è una soluzione molto meno stravagante di ideviceconsole sopra. Il mio fork viene compilato ed eseguito in Xcode 5 fuori dalla scatola e l'azione Build installerà il binario in /usr/local/binper facilità d'uso.
Come ulteriore utile informazione, lo uso nel seguente stile che rende facile trovare il dispositivo che voglio nella mia cronologia della shell e rimuove le >righe non necessarie che vengono deviceconsolestampate.
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
libimobiledevice. (La visualizzazione dei registri cablata e wireless funziona con il mio Mac su 10.11 e il mio iPhone su iOS 10.2)
brew install --HEAD libimobiledevice. Ha funzionato per me.
Basta aprire l'applicazione Console.appsu mac osX.
Lo si può trovare sotto Applications> Utilities> Console.
Sul lato sinistro dell'applicazione sono elencati tutti i dispositivi collegati.
Prova la console iOS gratuita . Basta scaricare, avviare, connettere il tuo dispositivo - et voilà!
Console.app[che viene fornito in modo nativo su macOS]?
Questo potrebbe essere quello che stai cercando: Xcode Organizer
dispositivo> l'uscita del terminale è sull'app di configurazione per iPhone
Hai tre opzioni:
Quindi, per ottenere il secondo è sufficiente installare syslogd e OpenSSH da Cydia, riavvio necessario dopo per avviare syslogd; ora apri una sessione ssh sul tuo dispositivo (tramite terminale o putty su Windows) e digita "tail -f / var / log / syslog". Ed ecco fatto, registro di sistema in tempo reale wireless.
Se vuoi provare il 3º cerca "dup2" online, è una chiamata di sistema.
Per visualizzare la console del tuo dispositivo iOS in Safari sul tuo Mac (solo apparentemente Mac):
L'Inspector di Safari apparirà mostrando una console per il tuo dispositivo iOS.
In alternativa, puoi utilizzare uno strumento di registrazione su schermo come ticker-log per visualizzare i log senza avere (comodo) accesso alla console.
Utilities/Console.app?