Apakah ada cara untuk melihat log konsol waktu nyata untuk melihat NSLog dan pesan debug lainnya secara waktu nyata, seperti adb logcat?
Apakah ada cara untuk melihat log konsol waktu nyata untuk melihat NSLog dan pesan debug lainnya secara waktu nyata, seperti adb logcat?
Jawaban:
Solusi yang didokumentasikan oleh Apple dalam Tanya Jawab Teknis QA1747 Debugging Aplikasi iOS yang Digunakan untuk Xcode 6 adalah:
print
pernyataan tidak masuk ke log, hanya ke stdout
. Gunakan NSLog
sebagai gantinya. Atau dimungkinkan untuk mengarahkan stdout
ke file dengan beberapa kode tambahan. Kerusakan dicatat dan dapat diakses menggunakan tombol "Lihat Log Perangkat".
EDIT: Silakan gunakan solusi @cbowns - deviceconsole kompatibel dengan iOS9 dan lebih mudah digunakan.
Ini adalah program sumber terbuka yang menampilkan log sistem iDevice di Terminal (dengan cara yang mirip dengan tail -F). Tidak diperlukan jailbreak, dan keluaran sepenuhnya grep'able sehingga Anda dapat memfilter untuk melihat keluaran dari program Anda saja. Hal yang sangat baik tentang solusi ini adalah Anda dapat melihat log apakah aplikasi diluncurkan dalam mode debug dari XCode atau tidak.
Begini caranya:
Ambil biner libimobiledevice untuk Mac OS X dari akun github saya di https://github.com/benvium/libimobiledevice-macosx/zipball/master
Ikuti petunjuk pemasangan di sini: https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
Hubungkan perangkat Anda, buka Terminal.app dan ketik:
idevicesyslog
Up muncul tampilan real-time dari log sistem perangkat.
Karena itu adalah aplikasi konsol, Anda dapat memfilter log menggunakan perintah unix, seperti grep
Misalnya, lihat semua pesan log dari aplikasi tertentu:
idevicesyslog | grep myappname
Diambil dari blog saya di 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
Dua pilihan:
libimobiledevice dapat diinstal melalui homebrew dan berfungsi dengan baik. Alatnya idevicesyslog
bekerja mirip dengandeviceconsole
(di bawah), dan ini mendukung tampilan perangkat Anda secara nirkabel syslog (!)
Saya telah menulis lebih banyak tentang itu di Tumblr tl; dr:
brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
dengan perangkat yang terhubung melalui USB atau tersedia di jaringan nirkabel lokal.
Dari 2013: deviceconsole dari rpetrich adalah solusi yang jauh lebih wacked-out dari ideviceconsole di atas. Garpu saya membangun dan menjalankan Xcode 5 di luar kotak, dan tindakan Build akan menginstal biner ke /usr/local/bin
untuk kemudahan penggunaan.
Sebagai informasi tambahan yang bermanfaat, saya menggunakannya dengan gaya berikut yang memudahkan untuk menemukan perangkat yang saya inginkan dalam riwayat shell saya dan menghapus >
garis yang tidak perlu yang deviceconsole
tercetak.
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
libimobiledevice
. (Tampilan log berkabel dan nirkabel berfungsi dengan Mac saya di 10.11 dan iPhone saya di iOS 10.2)
brew install --HEAD libimobiledevice
. Bekerja untuk saya.
Buka saja Aplikasi Console.app
di mac osX.
Anda dapat menemukannya di bawah Applications
> Utilities
> Console
.
Di sisi kiri aplikasi, semua perangkat Anda yang terhubung terdaftar.
Coba Konsol iOS freeware . Cukup unduh, luncurkan, hubungkan perangkat Anda - dan voila!
Console.app
[yang dikirimkan secara native di macOS]?
Ini mungkin yang Anda cari: Xcode Organizer
perangkat> keluaran terminal ada di aplikasi konfigurasi iPhone
di sini: http://support.apple.com/kb/DL1465
Anda memiliki tiga opsi:
Jadi, untuk mendapatkan yang 2º anda hanya perlu menginstal syslogd dan OpenSSH dari Cydia, restart diperlukan setelah itu untuk menjalankan syslogd; sekarang cukup buka sesi ssh ke perangkat Anda (melalui terminal atau putty di windows), dan ketik "tail -f / var / log / syslog". Dan begitulah, log sistem waktu nyata nirkabel.
Jika Anda ingin mencoba 3º hanya mencari "dup2" online, itu panggilan sistem.
Untuk melihat konsol perangkat iOS Anda di Safari pada Mac Anda (tampaknya hanya untuk Mac):
Safari's Inspector akan muncul menampilkan konsol untuk perangkat iOS Anda.
Sebagai alternatif, Anda dapat menggunakan alat pencatatan di layar seperti ticker-log untuk melihat log tanpa harus (nyaman) akses ke konsol.
Utilities/Console.app
?