Saya ingin melihat apa yang terjadi di Simulator iOS jika saya tidak menguji aplikasi dalam Xcode.
Misalnya, jika saya membuka tautan di simulator Safari, lihat apa yang terjadi di konsol, atau jika saya memasang aplikasi web, lihat tautan yang saya tekan di konsol.
Bagaimana saya bisa melakukan ini?
Saya ingin melihatnya di Xcode atau Terminal, tetapi tidak masalah jika saya perlu menggunakan sedikit perangkat lunak.
ios
console
ios-simulator
pengguna1335015
sumber
sumber
Jawaban:
iOS Simulator> Menu Bar> Debug> Open System Log
Cara lama:
iOS Simulator mencetak lognya langsung ke stdout, sehingga Anda dapat melihat log bercampur dengan log sistem.
Buka Terminal dan ketik:
tail -f /var/log/system.log
Kemudian jalankan simulator.
EDIT:
Ini berhenti bekerja pada Mavericks / Xcode 5. Sekarang Anda dapat mengakses log simulator di folder sendiri:
~/Library/Logs/iOS Simulator/<sim-version>/system.log
Anda dapat menggunakan Console.app untuk melihat ini, atau cukup lakukan saja (misalnya iOS 7.0.3 64 bit):
tail -f ~/Library/Logs/iOS\ Simulator/7.0.3-64/system.log
EDIT 2:
Mereka sekarang berada di
~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
tail -f ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log
sumber
console.log
dalam log ini menggunakantail
atauConsole.app
Anda dapat melihat konsol untuk Simulator iOS melalui desktop Safari. Ini mirip dengan cara Anda menggunakan desktop Safari untuk melihat konsol untuk perangkat iOS fisik.
Setiap kali simulator berjalan dan ada halaman web terbuka, akan ada opsi di bawah menu Develop di desktop safari yang memungkinkan Anda melihat konsol simulator iOS:
Kembangkan -> iPhone Simulator -> nama situs
sumber
Ada opsi di Simulator untuk membuka
console
atau gunakan
keyboard shortcut: ⌘/
sumber
iOS 8 dan iOS 9
Di bawah iOS 8 dan iOS 9 lokasi ini sekarang:
Jadi, yang berikut ini akan berfungsi:
The
DEVICE_CODE
nilai dapat ditemukan melalui perintah console berikut:sumber
instruments -s devices
di konsolxcrun simctl spawn booted log stream --level=debug | grep App_Debug_String
bekerja.Anda seharusnya tidak mengandalkan
instruments -s
. Alat yang didukung secara resmi untuk bekerja dengan Simulator dari baris perintah adalahxcrun simctl
.Direktori log untuk perangkat dapat ditemukan
xcrun simctl getenv booted SIMULATOR_LOG_ROOT
. Ini akan selalu benar bahkan jika lokasi berubah.Sekarang hal-hal yang bergerak ke
os_log
itu lebih mudah untuk membuka Console.app di host Mac. Simulator yang di-boot harus muncul sebagai sumber log di sebelah kiri, sama seperti perangkat fisik. Anda juga dapat menjalankan perintah log di simulator yang di-boot:Jika Anda ingin menggunakan alat Pengembang Safari (termasuk konsol JS) dengan halaman web di Simulator : Mulai salah satu simulator, buka Safari, lalu buka Safari di mac Anda dan Anda akan melihat Simulator di menu.
Anda dapat membuka URL di Simulator dengan menyeretnya dari bilah alamat Safari dan menjatuhkannya di jendela Simulator. Anda juga bisa menggunakan
xcrun simctl openurl booted <url>
.sumber
log help predicates
akan memberi Anda lebih banyak informasi. Format predikat mengikuti NSPredicate.Jika Anda menggunakan Swift , ingat bahwa
println
hanya akan mencetak ke log debug (yang muncul di area debug xCode). Jika Anda ingin mencetak ke system.log, Anda harus menggunakannyaNSLog
seperti dulu.Kemudian Anda dapat melihat log simulator melalui menu, Debug> Open System Log ... (cmd + /)
sumber
tailing
/var/log/system.log
tidak bekerja untuk saya. Saya menemukan log saya dengan menggunakanConsole.app
. Mereka ada di~/Library/Logs/iOS Simulator/{version}/system.log
sumber
Anda dapat menggunakan
Console
aplikasi (pilih perangkat Anda di Perangkat) di Mac Anda untuk melihat pesan log yang dikirim menggunakanNSLog
(Anda tidak akan melihat log dariprint
fungsi).Harap dicatat bahwa jika Anda ingin melihat log dari
WebView
yang harus Anda gunakanSafary -> Develop -> device
[Temukan log kerusakan]
sumber
cmd
then
space bar
Ketik "Console
" tekanenter
. Btw. itu seharusnya jawaban yang benar hari ini.XCode> 6.0 AND iOS> 8.0 Script di bawah ini berfungsi jika Anda memiliki versi XCode> 8.0
Saya menggunakan Script kecil di bawah ini untuk ekor log simulator ke konsol sistem.
Anda bisa meneruskan jenis simulator yang digunakan dalam Grep sebagai argumen. Seperti disebutkan dalam posting di atas, ada perintah simctl dan instrumen untuk melihat jenis simulator yang tersedia untuk digunakan tergantung pada versi Xcode. Untuk Melihat daftar perangkat / simulator yang tersedia.
ATAU
Sekarang Anda dapat mengirimkan kode Perangkat ATAU jenis Simulator sebagai argumen ke skrip dan mengganti "iPhone 6 (8.2 Simulator)" di dalam grep menjadi $ 1
sumber
Saya dapat membuka log secara langsung melalui simulator iOS:
Debug -> Open System Log...
Tidak yakin kapan ini diperkenalkan, jadi mungkin tidak tersedia untuk versi sebelumnya.sumber
Anda dapat melihat jendela konsol Simulator, termasuk Safari Web Inspector dan semua Alat Pengembangan Web dengan menggunakan aplikasi Pratinjau Teknologi Safari. Buka halaman Anda di Safari pada Simulator dan kemudian pergi ke Safari Technology Preview> Develop> Simulator.
sumber
Tidak ada
NSLog
atauprint
konten akan menulissystem.log
, yang dapat dibuka dengan PilihSimulator -> Debug -> Open System log
pada Xcode 11.Saya mencari cara, menulis log ke dalam file dan membuka
xx.log
dengan.Terminal.app
Lalu log akan hadir denganTerminal.app
hidup.Saya menggunakan CocoaLumberjack mencapai ini.
LANGKAH 1:
Tambahkan
DDFileLogger
DDOSLogger
dan cetak jalur log.config()
harus dipanggil saat App makan siang.LANGKAH 2:
Ganti
print
atauNSLog
denganDDLogXXX
.LANGKAH 3:
Di sini, pesan akan hadir di Terminal.app hidup.
sumber