IOS (iPhone, iPad, iPodTouch) отображает консольный лог-терминал реального времени

Есть ли способ просмотра журнала консоли реального времени для просмотра NSLog и других сообщений отладки в режиме реального времени, таких как adb logcat?

Ответ 1

Решение, задокументированное Apple в Техническом Q & A QA1747 Отладка Развернутых приложений iOS для Xcode 6:

  • Выберите "Окно" → "Устройства" в меню "Xcode".
  • Выберите устройство в левом столбце.
  • Нажмите вверх-треугольник в левом нижнем углу правой панели, чтобы отобразить консоль устройства.

Снимок экрана с треугольником

Ответ 2

EDIT: используйте решение @cbowns. deviceconsole совместим с iOS9 и гораздо проще в использовании.

Это программа с открытым исходным кодом, которая отображает системный журнал iDevice в терминале (аналогично хвосту -F). Не требуется джейлбрейк, и выход полностью grep'able, поэтому вы можете фильтровать, чтобы видеть вывод только из вашей программы. Что особенно хорошо для этого решения, вы можете просмотреть журнал, было ли приложение запущено в режиме отладки из 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

Up выводит отображение системного журнала устройства в режиме реального времени.

С помощью консольного приложения вы можете фильтровать журнал с помощью команд unix, таких как grep

Например, см. все сообщения журнала из определенного приложения:

idevicesyslog | grep myappname

Взято из моего блога на http://pervasivecode.blogspot.co.uk/2012/06/view-log-output-of-any-app-on-iphone-or.html

Ответ 3

Два варианта:

libimobiledevice можно установить через homebrew и отлично работает. Его инструмент idevicesyslog работает аналогично deviceconsole (ниже) и поддерживает беспроводной просмотр вашего syslog устройства (!)

Я написал больше об этом в Tumblr tl; dr:

brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>

с устройством, подключенным через USB или доступным в локальной беспроводной сети.

С 2013 года: deviceconsole от rpetrich - гораздо менее разрушенное решение, чем ideviceconsole выше. Моя его версия строит и запускает в Xcode 5 из коробки, а действие Build будет устанавливать двоичный код на /usr/local/bin для удобства использования.

Как дополнительный полезный бит информации, я использую его в следующем стиле, который позволяет легко найти устройство, которое я хочу в моей истории оболочки, и удаляет ненужные строки >, которые deviceconsole печатает.

deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"

Ответ 4

Попробуйте бесплатную консоль iOS . Просто загрузите, запустите, подключите свое устройство - et voila!

Ответ 5

Это может быть то, что вы ищете: Xcode Organizer

Ответ 6

Просто откройте приложение Console.app на mac osX.

Вы можете найти его под Applications > Utilities > Console.

В левой части приложения перечислены все подключенные устройства.

Ответ 7

устройство > вывод терминала находится в приложении конфигурации iPhone

здесь: http://support.apple.com/kb/DL1465

Ответ 8

У вас есть три варианта:

  • Организатор Xcode
  • Jailbroken устройство с syslogd + openSSH
  • Используйте dup2 для перенаправления всех STDERR и STDOUT в файл, а затем "tail -f" этого файла (этот последний больше является симулятором, поскольку вы застреваете с той же проблемой, что и хвост файла на устройстве).

Итак, чтобы получить 2º, вам просто нужно установить syslogd и OpenSSH из Cydia, перезагрузить его после того, как выйдет syslogd; теперь просто откройте сеанс ssh на вашем устройстве (через терминал или шпатлевку на окнах) и введите "tail -f/var/log/syslog". И там вы идете, журнал системных систем в реальном времени.

Если вы хотите попробовать 3º, просто выполните поиск "dup2" в Интернете, это системный вызов.

Ответ 9

В качестве альтернативы вы можете использовать инструмент на экране, например ticker-log для просмотра журналов без (удобный) доступ к консоли.

Ответ 10

Чтобы просмотреть консоль устройства iOS в Safari на вашем Mac (только для Mac):

  • На устройстве iOS откройте "Настройки" > "Safari" > "Дополнительно" и включите веб-инспектор
  • На вашем устройстве iOS загрузите свою веб-страницу в Safari
  • Подключите устройство непосредственно к Mac.
  • На вашем Mac, если у вас еще нет меню разработчика Safari, перейдите в "Настройки" > "Дополнительно" и выберите "Показать меню" Разработка "в строке меню"
  • На вашем Mac перейдите в раздел "Разработкa > [название устройства iOS] > [ваша веб-страница]

Появится окно Safari Inspector с консолью для вашего устройства iOS.