Как я могу получить журналы консоли с симулятора iOS?

Я хочу посмотреть, что произойдет в iOS Simulator, если я не тестирую приложение в Xcode.

Например, если я открою ссылку в симуляторе Safari, посмотрим, что происходит в консоли, или если я установлю веб-приложение, просмотрите ссылки, которые я нажимаю в консоли.

Как я могу это сделать?

Я хочу видеть это в Xcode или Terminal, но это не проблема, если мне нужно использовать другой бит программного обеспечения.

 Dave Jarvis23 сент. 2015 г., 07:25
Смотрите также:stackoverflow.com/a/29310542/59087

Ответы на вопрос(10)

XCode > 6.0 AND iOS > 8.0 8,0

Я использую приведенный ниже небольшой скрипт для привязки журналов симулятора к системной консоли.

#!/bin/sh
sim_dir=`xcrun instruments -s | grep "iPhone 6 (8.2 Simulator)" | awk {'print $NF'} | tr -d '[]'`
tail -f ~/Library/Logs/CoreSimulator/$sim_dir/system.log

Вы можете передать в качестве аргумента тип симулятора, используемый в Grep. Как упомянуто в вышеупомянутых сообщениях, есть команда simctl и instruments, чтобы просмотреть тип симуляторов, доступных для использования в зависимости от версии XCode. Посмотреть список доступных устройств / симуляторов.

xcrun instruments -s

ИЛИ ЖЕ

xcrun simctl list

Теперь вы можете передать код устройства ИЛИ тип симулятора в качестве аргумента скрипту и заменить «iPhone 6 (8.2 симулятор)». внутри grep будет $ 1

В симуляторе есть возможность открытьconsole

Debug > Open System Log

или используйте

keyboard shortcut: ⌘/

Simulator menu screenshot

Решение Вопроса

Панель меню & gt; Отладка & gt; Открытый системный журнал

Старые пути:

iOS Simulator распечатывает свои журналы прямо на стандартный вывод, поэтому вы можете увидеть, что журналы перепутаны с системными журналами.

Откройте Терминал и введите:tail -f /var/log/system.log

Затем запустите симулятор.

РЕДАКТИРОВАТЬ:

Это перестало работать на Mavericks / Xcode 5. Теперь вы можете получить доступ к журналам симулятора в его собственной папке:~/Library/Logs/iOS Simulator/<sim-version>/system.log

Вы можете использовать Console.app, чтобы увидеть это, или просто сделать хвост (iOS 7.0.3, 64 бита, например):

tail -f ~/Library/Logs/iOS\ Simulator/7.0.3-64/system.log

РЕДАКТИРОВАТЬ 2:

Сейчас они находятся в~/Library/Logs/CoreSimulator/<simulator-hash>/system.log

tail -f ~/Library/Logs/CoreSimulator/<simulator-hash>/system.log

 29 апр. 2015 г., 21:02
Спасибо! В наши дни это ~ / Library / Logs / CoreSimulator / & lt; simulator-hash & gt; /system.log.
 09 сент. 2015 г., 00:16
Ответ от BYossarian - «правильный» один. & quot; Разработайте меню в настольном сафари, которое позволяет увидеть консоль симулятора iOS: Develop - & gt; Симулятор iPhone - & gt; название сайта & quot;
 16 апр. 2015 г., 22:57
Симулятор iOS & gt; Панель меню & gt; Отладка & gt; Открытый системный журнал
 04 дек. 2014 г., 20:30
Я не получаю никаких результатов на OSX 10.10. эти журналы есть, но мой симулятор версии 8.1 и все журналы версии 7.1 *
 11 мар. 2014 г., 21:07
Это все еще точно? Я ничего не вижу отconsole.log в этом журнале с помощьюtail или жеConsole.app
iOS 8 and iOS 9

~/Library/Logs/CoreSimulator/<DEVICE_CODE>

Итак, будет работать следующее:

tail -f ~/Library/Logs/CoreSimulator/<DEVICE_CODE>/system.log

DEVICE_CODE значение можно найти с помощью следующей команды консоли:

instruments -s devices
 11 мар. 2015 г., 23:58
s / консоль / окно терминала /
 10 нояб. 2014 г., 14:45
Чтобы найти идентификатор устройства: в Xcode нажмите Windows & gt; Устройства. Устройство и идентификатор будут отображены в правой панели.
 03 февр. 2015 г., 20:11
Вы можете напечататьinstruments -s devices в консоли
 15 окт. 2014 г., 15:49
А что тогда код устройства? У меня их 12 ...

Debug -> Open System Log... Не уверен, когда это было введено, поэтому он может быть недоступен для более ранних версий.

ri. Это похоже на то, как вы используете настольный Safari для просмотра консоли для физических устройств iOS.

Всякий раз, когда симулятор работает и веб-страница открыта, в меню Safari на рабочем столе будет опция, позволяющая увидеть консоль симулятора iOS:

Разработать - & gt; Симулятор iPhone - & gt;site name

 23 авг. 2015 г., 22:50
Кто-нибудь знает, как заставить его автоматически проверять, когда я открываю симулятор?
 12 нояб. 2013 г., 12:22
Почему я не видел это нигде? Brilliant.
 11 июл. 2014 г., 20:01
Веб-инспектор (при доступе таким образом) для меня совершенно пуст (Mavericks Macbook Pro - все обновления установлены - Safari 7.0.5)
 08 окт. 2014 г., 13:15
Кажется, Safari обнаруживает, что simultor открыт, но в нем говорится «Нет проверяемых приложений».
 03 апр. 2013 г., 02:30
Это лучший ответ, так же как и «реальный» консоль браузера, и вы можете выполнять команды JavaScript на лету. Спасибо.

Swiftпомни чтоprintln будет печатать только в журнал отладки (который появляется в области отладки xCode). Если вы хотите распечатать в system.log, вы должны использоватьNSLog как в старые времена.

Затем вы можете просмотреть журнал симулятора через его меню Debug & gt; Открыть системный журнал ... (cmd + /)

instruments -s, Официально поддерживаемый инструмент для работы с симуляторами из командной строкиxcrun simctl.

Каталог журналов для устройства можно найти с помощьюxcrun simctl getenv booted SIMULATOR_LOG_ROOT, Это всегда будет правильно, даже если местоположение меняется.

Теперь, когда вещи движутся кos_log проще открыть Console.app на хосте Mac. Загруженные симуляторы должны отображаться слева как источник журналов, как и физические устройства. Вы также можете запустить команды журнала в загруженном симуляторе:

# os_log equivalent of tail -f
xcrun simctl spawn booted log stream --level=debug

# filter log output
xcrun simctl spawn booted log stream --predicate 'processImagePath endswith "myapp"'
xcrun simctl spawn booted log stream --predicate 'eventMessage contains "error" and messageType == info'

# a log dump that Console.app can open
xcrun simctl spawn booted log collect

# open location where log collect will write the dump
cd `xcrun simctl getenv booted SIMULATOR_SHARED_RESOURCES_DIRECTORY`

If you want to use Safari Developer tools (including the JS console) with a webpage in the SimulatorЗапустите один из симуляторов, откройте Safari, затем перейдите в Safari на вашем Mac, и вы должны увидеть Симулятор в меню.

Вы можете открыть URL в симуляторе, перетащив его из адресной строки Safari и опустив в окне симулятора. Вы также можете использоватьxcrun simctl openurl booted <url>.

 31 мар. 2018 г., 20:16
Теперь это правильный ответ для Xcode 9.3, iOS 11. Места, упомянутые в других ответах, больше не являются правильными.

/var/log/system.log не работал для меня. Я нашел свои журналы с помощьюConsole.app, Они были в

~/Library/Logs/iOS Simulator/{version}/system.log

 26 нояб. 2013 г., 03:30
Это отличный способ оглянуться назад на логи, например, дней назад.

Console приложение на вашем Mac. Просто выберите интересное устройство в Устройствах.

enter image description here

Ваш ответ на вопрос