NSLog ve diğer hata ayıklama mesajlarını gerçek zamanlı olarak görüntülemek için gerçek zamanlı konsol günlüğünü görüntülemenin bir yolu var mı, örneğin adb logcat gibi?
NSLog ve diğer hata ayıklama mesajlarını gerçek zamanlı olarak görüntülemek için gerçek zamanlı konsol günlüğünü görüntülemenin bir yolu var mı, örneğin adb logcat gibi?
Yanıtlar:
Apple tarafından Teknik Soru-Cevap QA1747 Hata Ayıklama'da Xcode 6 için Dağıtılmış iOS Uygulamalarında belgelenen çözüm şudur:
printdeyimleri günlüğe gitmez, yalnızca stdout. NSLogBunun yerine kullanın . Veya stdoutbazı kodlar eklenmiş bir dosyaya yeniden yönlendirmek mümkün olabilir . Kilitlenmeler günlüğe kaydedilir ve "Aygıt Günlüklerini Görüntüle" düğmesi kullanılarak erişilebilir.
DÜZENLEME: Lütfen @cbowns çözümünü kullanın - cihaz konsolu iOS9 ile uyumludur ve kullanımı çok daha kolaydır.
Bu, iDevice'in sistem günlüğünü Terminal'de görüntüleyen açık kaynaklı bir programdır (tail -F'ye benzer bir şekilde). Jailbreak gerekmez ve çıktı tamamen grep edilebilir olduğundan, yalnızca programınızdan çıktıyı görmek için filtre uygulayabilirsiniz. Bu çözümle ilgili özellikle iyi olan şey, uygulamanın XCode'dan hata ayıklama modunda başlatılıp başlatılmadığını günlüğü görüntüleyebilmenizdir.
Bunu nasıl yapacağınız aşağıda açıklanmıştır:
Mac OS X için libimobiledevice ikili dosyasını https://github.com/benvium/libimobiledevice-macosx/zipball/master adresindeki github hesabımdan edinin.
Buradaki yükleme talimatlarını izleyin: https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
Cihazınızı bağlayın, Terminal.app'yi açın ve şunu yazın:
idevicesyslog
Yukarı, aygıtın sistem günlüğünün gerçek zamanlı bir görüntüsünü açar.
Bir konsol uygulaması olduğundan, grep gibi unix komutlarını kullanarak günlüğü filtreleyebilirsiniz.
Örneğin, belirli bir uygulamadan gelen tüm günlük mesajlarına bakın:
idevicesyslog | grep myappname
Benim blogdan Alınan 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
İki seçenek:
libimobiledevice homebrew aracılığıyla kurulabilir ve harika çalışıyor. Onun idevicesyslogaracı benzer şekilde çalışır deviceconsole(aşağıda) ve cihazınızın syslog'u inceleyen kablosuz olarak destekler (!)
Tumblr'da bununla ilgili daha fazla yazdım tl; dr:
brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
USB ile bağlı veya yerel kablosuz ağda bulunan cihaz ile.
2013'ten itibaren: rpetrich'in cihaz konsolu, yukarıdaki idevice konsolundan çok daha az kaçık bir çözümdür. Benim bunun çatal inşa eder ve kutunun dışında Xcode 5 çalışır ve Yapı eylem için ikili kuracaktır /usr/local/binkullanım kolaylığı için.
Ek bir yardımcı bilgi parçası olarak, aşağıdaki stilde kullanıyorum, bu da kabuk geçmişimde istediğim cihazı bulmayı kolaylaştırıyor ve yazdırılan gereksiz >satırları kaldırıyor deviceconsole.
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
libimobiledevice. (Kablolu ve kablosuz günlük görüntüleme,
brew install --HEAD libimobiledevice. Benim için çalıştı.
Console.appMac osX'te Uygulamayı açmanız yeterlidir.
Sen altında bulabilirsiniz Applications> Utilities> Console.
Uygulamanın sol tarafında tüm bağlı cihazlarınız listelenir.
Ücretsiz iOS Konsolunu deneyin . Sadece indirin, başlatın, cihazınızı bağlayın - vesaire!
Console.app[macOS'ta yerel olarak gönderilir ]?
Aradığınız şey bu olabilir: Xcode Organizer
cihaz> terminal çıkışı iPhone yapılandırma uygulamasında
Üç seçeneğiniz var:
Bu yüzden, 2º birini almak için, sadece Cydia'dan syslogd ve OpenSSH'yi yüklemeniz gerekir, syslogd'yi çalıştırmak için yeniden başlatmanız gerekir; şimdi cihazınıza bir ssh oturumu açın (Windows üzerinde terminal veya macun yoluyla) ve "tail -f / var / log / syslog" yazın. Ve işte, kablosuz gerçek zamanlı sistem günlüğü.
3º'yi denemek isterseniz sadece çevrimiçi olarak "dup2" araması yapın, bu bir sistem çağrısıdır.
İOS aygıtınızın konsolunu Mac'inizdeki Safari'de görüntülemek için (yalnızca Mac görünürde):
Safari Denetçisi, iOS cihazınız için bir konsol gösteren görünecektir.
Alternatif olarak, konsola (uygun) erişime sahip olmadan günlükleri görüntülemek için ticker-log gibi bir ekran günlüğü aracı kullanabilirsiniz .
Utilities/Console.app?