Я хочу посмотреть, что происходит в iOS Simulator, если я не тестирую приложение в Xcode.
Например, если я открою ссылку в симуляторе Safari, посмотрим, что происходит в консоли, или, если я установлю веб-приложение, просмотрите ссылки, которые я нажимаю в консоли.
Как я могу это сделать?
Я хочу видеть это в Xcode или Terminal, но это не проблема, если мне нужно использовать другой бит программного обеспечения.
ios
console
ios-simulator
user1335015
источник
источник
Ответы:
Симулятор iOS> Строка меню> Отладка> Открыть системный журнал
Старые пути:
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
источник
console.log
в этом журнале, используяtail
илиConsole.app
Вы можете просмотреть консоль для симулятора iOS через настольный Safari. Это похоже на то, как вы используете настольный Safari для просмотра консоли для физических устройств iOS.
Всякий раз, когда симулятор работает и открыта веб-страница, в меню Safari для рабочего стола будет опция, позволяющая увидеть консоль симулятора iOS:
Разработка -> Симулятор iPhone -> название сайта
источник
В симуляторе есть возможность открыть
console
или используйте
keyboard shortcut: ⌘/
источник
iOS 8 и iOS 9
Под iOS 8 и iOS 9 это местоположение теперь:
Итак, будет работать следующее:
DEVICE_CODE
Значение может быть найдено с помощью следующей команды консоли:источник
instruments -s devices
в консолиxcrun simctl spawn booted log stream --level=debug | grep App_Debug_String
работал.Вы не должны полагаться на
instruments -s
. Официально поддерживается инструмент для работы с симуляторами из командной строкиxcrun simctl
.Каталог журналов для устройства можно найти с помощью
xcrun simctl getenv booted SIMULATOR_LOG_ROOT
. Это всегда будет правильно, даже если местоположение меняется.Теперь, когда дела идут
os_log
дальше, проще открыть Console.app на хосте Mac. Загруженные симуляторы должны отображаться слева как источник журналов, как и физические устройства. Вы также можете запустить команды журнала в загруженном симуляторе:Если вы хотите использовать инструменты разработчика Safari (включая консоль JS) с веб-страницей в симуляторе : запустите один из симуляторов, откройте Safari, затем перейдите в Safari на своем Mac и в меню вы увидите Симулятор.
Вы можете открыть URL в симуляторе, перетащив его из адресной строки Safari и опустив в окне симулятора. Вы также можете использовать
xcrun simctl openurl booted <url>
.источник
log help predicates
предоставит вам больше информации. Формат предиката следует за NSPredicate.Если вы используете Swift , помните, что он
println
будет печататься только в журнал отладки (который отображается в области отладки xCode). Если вы хотите распечатать в system.log, вы должны использоватьNSLog
как в старые времена.Затем вы можете просмотреть журнал симулятора через меню «Отладка»> «Открыть системный журнал ...» (cmd + /).
источник
Хвост
/var/log/system.log
не работал для меня. Я нашел свои журналы с помощьюConsole.app
. Они были в~/Library/Logs/iOS Simulator/{version}/system.log
источник
Вы можете использовать
Console
приложение (выберите ваше устройство в разделе «Устройства») на своем Mac, чтобы просмотреть сообщение журнала, отправленное с помощьюNSLog
(вы не увидите журналы изprint
функции).Обратите внимание, что если вы хотите увидеть журнал от
WebView
вас следует использоватьSafary -> Develop -> device
[Найти журнал сбоев]
источник
cmd
then
space bar
Тип "Console
" нажмитеenter
. Btw. это должен быть правильный ответ сегодня.XCode> 6.0 И iOS> 8.0 Следующий скрипт работает, если у вас версия XCode> 8.0
Я использую приведенный ниже небольшой скрипт для привязки журналов симулятора к системной консоли.
В качестве аргумента вы можете передать тип симулятора, используемый в Grep. Как упомянуто в вышеупомянутых должностях, есть команда simctl и instruments, чтобы просмотреть тип симуляторов, доступных для использования в зависимости от версии XCode. Посмотреть список доступных устройств / симуляторов.
ИЛИ
Теперь вы можете передать код устройства ИЛИ тип симулятора в качестве аргумента сценария и заменить «iPhone 6 (8.2 Simulator)» внутри grep на $ 1.
источник
Я могу открыть журнал напрямую с помощью симулятора iOS:
Debug -> Open System Log...
не уверен, когда это было введено, поэтому он может быть недоступен для более ранних версий.источник
Вы можете увидеть окно консоли Simulator, включая Safari Web Inspector и все инструменты веб-разработки, с помощью приложения Safari Technology Preview. Откройте свою страницу в Safari на симуляторе, а затем перейдите к Safari Technology Preview> Разработка> Симулятор.
источник
Нет
NSLog
илиprint
контент будет писать вsystem.log
, который может быть открыт с помощью SelectSimulator -> Debug -> Open System log
на Xcode 11.Я выяснить способ, журналы и записи в файл и открыть
xx.log
сTerminal.app
.then журналы будут представлены вTerminal.app
живом.Я использую CocoaLumberjack для достижения этой цели.
ШАГ 1:
Добавить
DDFileLogger
DDOSLogger
и распечатать путь журналов.config()
должен быть вызван, когда приложение обедает.ШАГ 2:
Заменить
print
илиNSLog
наDDLogXXX
.ШАГ 3:
Здесь сообщение будет представлено в Terminal.app в живую.
источник