Di Xcode 6.4, saya melihat tombol bertuliskan "View Device Logs", tetapi memberi saya log crash. Saya tidak melihat cara untuk mendapatkan log konsol.
Chris Prince
4
Saya telah menambahkan tangkapan layar dengan ikon segitiga atas.
Marián Černý
1
printpernyataan tidak masuk ke log, hanya ke stdout. Gunakan NSLogsebagai gantinya. Atau dimungkinkan untuk mengarahkan stdoutke file dengan beberapa kode tambahan. Kerusakan dicatat dan dapat diakses menggunakan tombol "Lihat Log Perangkat".
Marián Černý
3
Tombol ini telah dihentikan di xCode 9.3. Sekarang memiliki tombol "Console.app", yang lebih masuk akal.
rustyMagnet
79
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.
Sepertinya ini tidak berfungsi dengan simulator iOS. Kekecewaan. No device found, is it plugged in?
ashes999
Itu tidak dapat berfungsi di iOS10. "usbmuxd_send: Error -1 saat mengirim: Pipa rusak" Bagaimana mengatasinya?
Victor Choy
2
Ketika saya menjalankan idevicesys tanpa sudo, saya mendapatkan kesalahan samar tentang "Tidak dapat memulai layanan com.apple.syslog_relay". Mungkin itu tergantung pada bagaimana Anda menginstalnya atau sesuatu.
Bjorn Roche
Lakukan ini jika tidak berhasil untuk Anda ...brew uninstall libimobiledevice ideviceinstaller && brew install --HEAD libimobiledevice ideviceinstaller
Akshet
77
Dua pilihan:
libimobiledevice dapat diinstal melalui homebrew dan berfungsi dengan baik. Alatnya idevicesyslogbekerja 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/binuntuk 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 deviceconsoletercetak.
Terima kasih untuk posting ini Ini persis seperti yang saya cari. Saya tidak sabar untuk menambahkan iOS ke alat LogCat
Yepher
2
Ini luar biasa - butuh 2 menit untuk mengkompilasi dan menjalankan. Ini harus menjadi jawaban yang diterima.
Nick Farina
Ini adalah solusi yang bagus. Dan hanya ingin menambahkan bahwa koleksinya masih berfungsi untuk iOS8 (sebagaimana mestinya!)
Kelly
1
@BugaBuga Pastikan Anda menggunakan yang terbaru libimobiledevice. (Tampilan log berkabel dan nirkabel berfungsi dengan Mac saya di 10.11 dan iPhone saya di iOS 10.2)
itu menarik, tetapi tidak mengizinkan saya memilih perangkat mana untuk melihat log konsol jika saya memiliki beberapa yang terhubung ke Mac.
leolobato
sangat sederhana dan berfungsi dengan baik di iOS 12, saya menjadi frustrasi dengan mengetahui betapa sederhananya logging untuk seorang dev dan berakhir di sini. Terima kasih Peter
FreeAppl3
mengapa tidak Console.app[yang dikirimkan secara native di macOS]?
Ya ... tetapi untuk beberapa alasan, Konsol di Xcode Organizer kurang real-time karena berada di dalam jendela GUI. Saya berharap ada cara untuk memanggil shell pada perangkat secara langsung ke tail -f <logfilename>
Arunabh Das
Anda hanya bisa mendapatkan shell pada perangkat jika sudah di-jailbreak.
progrmr
Terima kasih progrmr. Saya ingin menerima jawaban Anda sebagai jawaban yang benar. Bisakah Anda juga memposting tautan apa pun untuk HowTo untuk mendapatkan shell pada perangkat yang di-jailbreak? Terima kasih!!
Arunabh Das
@ArunabhDas Mohon pertimbangkan untuk mengubah jawaban yang diterima ke jawaban idevicesyslog dari Ben Clayton. Solusinya persis seperti yang saya cari untuk men-debug Pembelian Dalam Aplikasi dengan aplikasi iOS menggunakan platform CoronaSDK. Xcode Organizer lambat dan tidak praktis untuk melihat informasi log.
Anthony F
5
perangkat> keluaran terminal ada di aplikasi konfigurasi iPhone
@ThomasW: Sayangnya Apple Configurator tampaknya tidak memiliki kemampuan untuk melihat log perangkat seperti yang dilakukan / dilakukan oleh iPhone Configuration Utility.
Perangkat yang di-jailbreak dengan syslogd + openSSH
Gunakan dup2 untuk mengarahkan semua STDERR dan STDOUT ke sebuah file dan kemudian "tail -f" file itu (yang terakhir ini lebih merupakan hal simulator, karena Anda terjebak dengan masalah yang sama dalam membuntuti file pada perangkat).
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.
Utilities/Console.app
?Jawaban:
Solusi yang didokumentasikan oleh Apple dalam Tanya Jawab Teknis QA1747 Debugging Aplikasi iOS yang Digunakan untuk Xcode 6 adalah:
sumber
print
pernyataan tidak masuk ke log, hanya kestdout
. GunakanNSLog
sebagai gantinya. Atau dimungkinkan untuk mengarahkanstdout
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:
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:
Diambil dari blog saya di http://pervasivecode.blogspot.co.uk/2012/06/view-log-output-of-any-app-on-iphone-or.html
sumber
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:
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 yangdeviceconsole
tercetak.sumber
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.
sumber
Coba Konsol iOS freeware . Cukup unduh, luncurkan, hubungkan perangkat Anda - dan voila!
sumber
Console.app
[yang dikirimkan secara native di macOS]?Ini mungkin yang Anda cari: Xcode Organizer
sumber
perangkat> keluaran terminal ada di aplikasi konfigurasi iPhone
di sini: http://support.apple.com/kb/DL1465
sumber
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.
sumber
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.
sumber
Sebagai alternatif, Anda dapat menggunakan alat pencatatan di layar seperti ticker-log untuk melihat log tanpa harus (nyaman) akses ke konsol.
sumber