Я предполагаю, что вы пишете автотесты для какого-то приложения iOS, и эти тесты выполняются на симуляторе. Надеюсь, что это может помочь:
Автоматизированное решение
Чтобы прослушать события приложения, вы можете использовать следующую команду:
xcrun simctl spawn booted log stream --debug > your_dump_file.txt
Обратите внимание xcrun simctl spawn booted
- это команда только для симулятора, а не для реального устройства. Он запишет поток ВСЕХ событий устройства в ваш файл, который вы можете проанализировать позже, пока не остановите его.
Если вас интересуют определенные журналы из вашего приложения, вы можете «фильтровать» журналы:
xcrun simctl spawn booted log stream --debug --predicate 'subsystem == "com.your-company.AppName"' > your_dump_file.txt
Здесь «предикатом» является тег для os_log
, который вы можете создать в своем коде:
static os_log_t customLog = os_log_create("com.your-company.AppName", "com.your-company.AppName");
А затем запишите события, которые вас особенно интересуют:
- (void)logButtonTouchDown:(NSString*)buttonID
{
os_log(customLog, "Button_%s_TouchDown", buttonID.UTF8String);
}
Если приложение работает в режиме выпуска, вы можете попробовать добавить {public}
к значениям времени выполнения, которые «выставлены»:
- (void)logButtonTouchDown:(NSString*)buttonID
{
os_log(customLog, "Button_%{public}s_TouchDown", buttonID.UTF8String);
}
Затем вы можете как-то обработать your_dump_file.txt
и обработать журналы.
Решение вручную
В MacOS вы можете увидеть журнал устройства Console.app
. Обратите внимание, что вам также может понадобиться добавить спецификатор {public}
в ваши журналы, чтобы увидеть некоторые реальные значения.