Чи існує спосіб перегляду журналу консолі реального часу для перегляду NSLog та інших повідомлень налагодження в режимі реального часу, наприклад, adb logcat?
Чи існує спосіб перегляду журналу консолі реального часу для перегляду NSLog та інших повідомлень налагодження в режимі реального часу, наприклад, adb logcat?
Відповіді:
Рішення, задокументоване Apple в технічних питаннях QA1747 Налагодження розгорнутої програми iOS для Xcode 6:
print
заяви не йдуть до журналу, а лише до stdout
. Використовуйте NSLog
замість цього. Або можливо перенаправити stdout
на файл з деяким доданим кодом. Збої реєструються та доступ до них можна отримати за допомогою кнопки "Переглянути журнали пристроїв".
РЕДАКТУВАТИ: Будь ласка, використовуйте рішення @cbowns - пристрій пристрою сумісний з iOS9 та набагато простіший у використанні.
Це програма з відкритим кодом, яка відображає системний журнал iDevice в терміналі (подібним до хвоста -F). Не потрібно джейлбрейк, і вихід є повністю привабливим, тому ви можете фільтрувати, щоб побачити вихід лише з вашої програми. Що особливо добре в цьому рішенні, це те, що ви можете переглянути журнал, незалежно від того, чи додаток було запущено в режимі налагодження від XCode.
Ось як:
Візьміть бінарний файл libimobiledevice для Mac OS X з мого облікового запису github за адресою https://github.com/benvium/libimobiledevice-macosx/zipball/master
Дотримуйтесь інструкцій із встановлення тут: https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
Підключіть свій пристрій, відкрийте Terminal.app і введіть:
idevicesyslog
Вгору з'являється відображення в режимі реального часу системного журналу пристрою.
Оскільки це консольний додаток, ви можете фільтрувати журнал за допомогою команд unix, наприклад grep
Наприклад, перегляньте всі повідомлення журналу певного додатка:
idevicesyslog | grep myappname
Взяте з мого блогу на веб-сайті 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
Два варіанти:
libimobiledevice можна встановити через домашню мову та чудово працює. Його idevicesyslog
інструмент працює аналогічно deviceconsole
(нижче), і він підтримує бездротовий перегляд системного журналу вашого пристрою (!)
Я написав більше про це на Tumblr tl; dr:
brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
з пристроєм, підключеним через USB або доступним у локальній бездротовій мережі.
З 2013 року: консоль пристрою від rpetrich - це набагато менш розбуджене рішення, ніж ідевіконсоль вище Мій роздріб складається з цього коду і працює в Xcode 5, і дія Build дозволить встановити двійковий код /usr/local/bin
для зручності використання.
Як додатковий корисний біт інформації, я використовую її в наступному стилі, що полегшує пошук потрібного пристрою в моїй історії оболонок і видаляє непотрібні >
рядки, які deviceconsole
виводяться на друк.
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
libimobiledevice
. (Провідний та бездротовий перегляд журналів працюють з моїм Mac 10.11 і моїм iPhone на iOS 10.2)
brew install --HEAD libimobiledevice
. Працювали для мене.
Просто відкрийте програму Console.app
на mac osX.
Ви можете знайти його в Applications
> Utilities
> Console
.
У лівій частині програми перелічені всі підключені пристрої.
Спробуйте безкоштовну консоль iOS . Просто завантажте, запустіть, підключіть свій пристрій - et voila!
Console.app
[які постачаються на macOS]?
Це може бути те, що ви шукаєте: Xcode Organizer
пристрій> термінальний вихід знаходиться в додатку для конфігурації iPhone
У вас є три варіанти:
Отже, щоб отримати 2º один, вам просто потрібно встановити syslogd та OpenSSH від Cydia, після перезапуску syslogd потрібно перезапустити; тепер просто відкрийте сеанс ssh на своєму пристрої (через термінал або шпаклівку на windows) та введіть "tail -f / var / log / syslog". І ось там, бездротовий системний журнал реального часу.
Якщо ви хочете спробувати 3º просто шукати “dup2” в Інтернеті, це системний дзвінок.
Щоб переглянути консоль пристрою iOS в Safari на вашому Mac (лише для Mac):
З'явиться інспектор Safari, який показує консоль для вашого пристрою iOS.
Як альтернатива, ви можете використовувати екранний інструмент реєстрації даних, наприклад тикер-журнал, для перегляду журналів, не маючи (зручного) доступу до консолі.
Utilities/Console.app
?