Как снять логи с ios на windows

Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.Статья подготовлена red_ma...

Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.

Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.

Уровни логирования и что они означают

Для начала разберёмся с логами. Это текстовые файлы, в которых записываются все действия пользователя. Например, какие кнопки он нажимает в приложении и как на это оно реагирует в ответ.

Записи в логах формируются в хронологическом порядке. Самая свежая — внизу.

Есть два вида логов:

  • Crash logs — файл, в котором хранятся записи только об ошибках экстренного завершения программы — по-простому, когда приложение крашнулось.

  • Logs — простые логи, или журнал событий. Это файл, в котором хранятся системные записи и ответы устройства на действие пользователя.

Логи на мобильных устройствах бывают нескольких уровней:

  • ERROR,

  • WARN,

  • INFO,

  • DEBUG,

  • VERBOSE.

Они представлены по уровню важности — от самого высокого к самому низкому, — и каждый следующий уровень включает в себя предыдущий. Например, VERBOSE содержит в себе логи всех остальных.

Примечание: уровни более применимы к логам на Android, потому что именно там такое разделение встречается чаще.

Рассмотрим подробнее каждый уровень.

Error (ERROR)

На этом уровне информируются ошибки работы системы.

Записи этого уровня требуют быстрого вмешательства разработчика — на такие ошибки нужно реагировать максимально быстро.

Как пример, такая запись в логе:

“ SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length ”

Это ошибка, в которой говорится, что строковый элемент span не может быть пустым.

Или вот:

“ [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008] ] ”

Эта системная ошибка сообщает, что происходит утечка памяти при взаимодействии с каким-то элементом или приложением.

Warning (WARN)

На этом уровне отображаются записи, сообщающие о каком-то неожиданном поведении, требующем внимания, или о ситуации, которая незнакома системе.

Например, сообщение ниже — запись из тестового приложения:

“ [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -2147483648 “

Мы пытаемся декодировать запись в какой-то формат, но его нет. Ошибка сообщает о неуспешной попытке настройки видеоплеера в нужном формате.

Ещё пример:

“ BroadcastQueue: Permission Denial: broadcasting Intent ”

Эта системная ошибка говорит о сбое в работе одного из виджетов на устройстве.

Info (INFO)

На этот уровень приходят записи информационного характера, например о работе системы.

Допустим, такое сообщение об уровне заряда батареи на устройстве:

“ APwBatteryMonitor: screen off start battery: 100 ”

А это сообщение говорит о том, что экран устройства был выключен:

“ HwBatteryService: intent = Intent { act=android.intent.action.SCREEN_OFF flg=0x58200010 } ” 

Ещё в логи этого уровня входят запросы от клиента на сервер: хедеры, тело запросов, которые отправляет клиент, и ответы сервера.

“ okhttp.OkHttpClient: <— 200 https://domainname/api/v1/smth/deals (1691ms)

okhttp.OkHttpClient: server: nginx/1.15.9

okhttp.OkHttpClient: date: Thu, 23 Sep 2021 19:41:17 GMT

okhttp.OkHttpClient: content-type: application/json

okhttp.OkHttpClient: vary: Accept-Encoding

okhttp.OkHttpClient: strict-transport-security: max-age=15724800; includeSubDomains

okhttp.OkHttpClient: {«key»:{«key»:value,»name»:»»},»key»:value,»key»:value}

okhttp.OkHttpClient: <— END HTTP ”

Такие записи могут помочь вам в понимании какого-то бага или в разборе задачи при условии, что вы не можете перехватить трафик или не знаете, какие запросы отправляются на бэкенд.

Debug (DEBUG)

Это уровень сообщений, в которых передаётся информация о процессах отладки или шагах работы крупных процессов.

Например, в записи ниже сказано, что пользователь нажимал на кнопку уменьшения или увеличения громкости:

“ MediaSessionService: dispatchVolumeKeyEvent ”

Сначала мы видим запись о самом факте нажатия на кнопку, далее оно расшифровывается подробнее:

{ action=ACTION_DOWN, keyCode=KEYCODE_VOLUME_UP }

Ещё пример: если ваше приложение использует сокет-сессию, то на уровне DEBUG мы можем увидеть, когда сессия начинается и заканчивается:

“ b$b: WebSocket connected ”

Verbose (VERBOSE)

Сообщения такого уровня уточняют или раскрывают действия.

Например, у нас есть служба управления окнами на экране приложения. И на уровне Verbose мы можем увидеть подробности её работы.

Открытие окна:

WindowManager: addWindow

Закрытие окна:

WindowManager: Removing Window

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

GnssLocationProvider: reportLocation Location […] 

А меняя звук на устройстве, мы увидим, как растёт или падает значение:

AudioManager: getStreamVolume  streamType: 3 volume: 10

Каждое нажатие, то есть изменение звука, будет отражаться новым сообщением.

Verbose — уровень самого низкого приоритета. Выбирая такой уровень отображения логов, мы будем видеть записи и со всех предыдущих уровней.

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

Инструменты для снятия логов: Android

Расскажем о трёх способах.

Первый  Logcat в составе Android Studio, самый известный и широко используемый.

Для снятия логов нам необходимо перевести устройство в режим разработчика/отладки. Для этого нужно:

  • найти в настройках номер нашего билда или ОС (в зависимости от устройства),

  • около десяти раз нажать на эту информацию,

  • при появлении сообщения о том, не хотим ли мы перевести устройство в режим разработчика, нажать «Ок».

Примечание: алгоритм может отличаться в зависимости от производителя устройства, потому что у многих из них свои надстройки на ОС Android.

Дальше подключаем устройство по USB к ПК и устанавливаем Android Studio.
Следующие шаги на скрине:

  1. Выбираем вкладку Logcat (переходим к сообщениям в реальном времени).

  2. В окошке выбираем телефон, с которого снимаем логи.

  3. На этой вкладке выбираем логи определённого приложения. Если нужно снять вообще все логи со всех приложений и системы, эту вкладку стоит не трогать. Рядом с ней можно выбрать уровень логирования (вкладка Verbose на скрине).

  4. В поле поиска, где мы можем фильтровать выдачу, разрешено писать что угодно — от названия пакета до частей вроде fatal.

На скрине видно логи с подключенного устройства.

Второй способ — выгрузка логов с самого устройства. Кроме режима разработчика нам нужно подключить устройство к ПК через USB и установить ADB — Android Debug Bridge.

Открываем терминал и пишем две команды.

Первая — adb devices — показывает подключённые устройства, которые видит ADB. В терминале выглядит так:

Название устройства — 7BKDU18504001505

Название устройства — 7BKDU18504001505

Вводим вторую команду — adb -s название устройства logcat, — которая запускает утилиту Logcat для конкретного устройства. В терминале в реальном времени будут поступать логи.

Как их читать?

  1. В первом столбце — дата и время поступления записи.

  2. Во втором — обозначения уровней логирования. Например, D — это Debug.

  3. В третьем показываются названия инструмента, утилиты, пакета, от которых поступает сообщение, а также расшифровка того, что вообще происходит.

Третий инструмент — SDK Platform Tools. Процесс его установки практически аналогичен предыдущим двум:

  • переводим телефон в режим разработчика,

  • подключаем к ПК по USB,

  • скачиваем на ПК папку SDK PT (под свою ОС),

  • открываем папку SDK PT в терминале.

Теперь пишем команду ./adb logcat –v threadtime > ./android-debug.log.

В терминале это выглядит так:

Прерываем выполнение команды (например, на Mac это Control+C). Лог добавляется в папку.

Открываем:

В первом столбце — дата и время, во втором — уровни логов, в третьем — указание на то, от какой части системы поступают данные, лог и его расшифровка/подробности

В первом столбце — дата и время, во втором — уровни логов, в третьем — указание на то, от какой части системы поступают данные, лог и его расшифровка/подробности

Очень похоже на предыдущий терминал, но файл обновляется, пока в терминале действует команда.

Инструменты снятия логов: iOS

В первую очередь нас интересует xCode — интегрированная среда разработки (IDE), в которую встроен нужный нам инструмент Simulator.

Как использовать инструмент:

  1. Устанавливаем xCode.

  2. В системной строке нажимаем xCode → Open Developer Tools → Simulator.

  3. Устанавливаем приложение.

  4. В самом симуляторе выбираем Debug → Open System Log.

Мы будем видеть логи в реальном времени:

Подобное оформление логов мы уже где-то видели, но построение информации в выдаче немного отличается. Есть дата и время (1) и данные (2) о том, с какого устройства снята информация: имя компьютера, элемент системы, с которого пришло сообщение, и его расшифровка.

Но первый способ работает только с симуляторами. Если необходимо снимать логи с реального устройства, в этом может помочь раздел Devices and Simulators.

Записи можно отфильтровать по конкретному процессу (вашему приложению):

  1. Устанавливаем xCode.

  2. Подключаем устройство к ПК по USB.

  3. Открываем xCode → Windows → Devices and Simulators.

Дальше нажимаем у устройства Open Console и видим панель с названием устройства, информацией о модели и ОС:

1 — все приложения, которые установлены на устройстве, 2 — версия устройства, 3 — пакет приложения устройства

1 — все приложения, которые установлены на устройстве, 2 — версия устройства, 3 — пакет приложения устройства

Логи поступают в реальном времени, но их удобно отслеживать:

У нас есть три столбца:

  1. «Время» — время поступления сообщения.

  2. «Процесс» — с какой части системы/приложения пришло сообщение.

  3. «Сообщение» — описание события, сервисная информация.

В инструменте есть поиск для фильтрации выдачи. Ещё есть полезная кнопка «Приостановить» — она останавливает поток логов.

А вот утилита iMazing поможет снимать iOS-логи для тех, у кого установлен Windows. Приложение платное, но часть функциональности доступна бесплатно. Например, за снятие логов устройства платить не нужно.

В меню выбираем «Показать консоль устройства». В открывшемся окне приходят записи логов в реальном времени со всего устройства.

1 — дата и время получения сообщения; 2 — имя телефона, информация, с какой части устройства пришло сообщение, и описание; 3 — поисковая строка для фильтрации выдачи

1 — дата и время получения сообщения; 2 — имя телефона, информация, с какой части устройства пришло сообщение, и описание; 3 — поисковая строка для фильтрации выдачи

Ещё одно важное достоинство iMazing — возможность сохранять логи (разумеется, по кнопке «Сохранить»).


Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.

Привет! Сегодня стартует наш четвертый митап для тестировщиков, QAчественное общение. До 18:00 МСК на него все еще можно зарегистрироваться. А пока мы начинаем выкладывать доклады с предыдущего митапа, и начинаем с Ольги, старшего QA-инженера в компании red_mad_robot. Поговорим про мобильные устройства и про снятие логов с этих мобильных устройств, почитаем их и разберем, как вообще с ними работать.

Что вообще такое логи мобильного устройства? Логи – это записи либо сообщения в виде текста. У нас в этом тексте записываются все действия пользователя или как отвечает система на действия пользователя, соответственно, вся та информация, что вы делаете, куда нажимаете на самом устройстве, в приложении – всё это пишется в логи.

Какие логи в принципе бывают? Разделим их на две группы. Первая – это Crash logs, они подразумевают под собой отдельный файл, куда сыпется только информация об экстренном завершении программы. И второй вариант – это просто логи, файл, который является журналом событий, в нём хранятся все системные записи и ответы устройства на действия пользователя.

Уровни логирования

Хочу заметить, что эти уровни логирования больше под Android-логи, потому что именно разделение на Error, Warn, Info, Debug и Verbose в основном вы можете увидеть именно на логах с Android. Плюс, такая же информация чаще всего будет в ваших серверных логах, в принципе, будет довольно полезно изучить их. Что примечательно, каждый уровень включает в себя предыдущий. Если мы возьмем Verbose, фильтрацию по нему, например, то мы будем получать логи со всех предыдущих уровней, то есть абсолютно все логи. Разберем каждый подробно.

Первый – это Error. Ошибки уровня Error – ошибки, которые говорят о работе системы, на них надо очень быстро реагировать и всегда сообщать о них разработчикам. 

Например, SpannableStringBuilder – это ошибка приложения, которая говорит нам о том, что текстовое поле, то есть Span, наш элемент, он не может быть нулевым либо пустым. Второй вариант – это системная ошибка ZeroHung. Данная ошибка говорит о том, что у нас происходит утечка памяти, она может быть как от какого-то действия с приложением, так и от самого приложения. 

Следующий вариант – Warning. Это тоже ошибки, которые говорят о каком-то неожиданном поведении, которые требуют внимания, но они не такие важные, как error. Например, ошибка из приложения: мы пытаемся декодировать видео в нужное нам качество, в нужный формат, и у нас на этом происходит ошибка. Второй вариант, например, BroadcastQueue. Это ошибка системная, ошибка работы какого-то виджета на вашем устройстве. У меня это был Android Huawei, мне от системы сыпятся такие ошибки.

Следующий уровень – Info. Это уровень логов, на котором нам приходят записи чисто информационного характера о работе системы. Например, в этот уровень будут приходить ваши запросы, которые отправляют приложения на сервер. То есть он будет выглядеть так: http start, здесь вы увидите, какие header’ы отправляются, какое тело отправляется, если оно есть, и так же будете получать ответ от сервера в таком формате: json, key, value, ключ, значение и так далее. Заканчиваться он будет как http end. Далее, системный вариант ошибки или системный вариант лога о том, что сейчас мы намереваемся выключить экран. То есть, эта запись появляется, когда мы просто блокируем экран телефона, и он гаснет. Это у нас падает в информацию.

Далее, уровень Debug. Это тот уровень сообщений, в котором передается информация о процессах отладки или шаги каких-то крупных процессов, то, на что разработчики хотели обратить пристальное внимание. Например, мы просто нажали на качель громкости. Здесь будет, конечно, более подробно внутри этого лога – если вы его поймаете, то увидите конкретно что произошло: мы увеличили звук, уменьшили звук и на какое количество. И второй вариант, например, у вас приложение работает по WebSocket, и вам надо понять, подключились вы вообще или нет. Соответственно, вот это сообщение о том, что коннект произошел (на экране «b$b: WebSocket connected»).

Следующий уровень Verbose. Это уровень самого низкого приоритета, там сыпятся вообще все логи, там будет какая-то дополнительная информация, которая не вошла в Info, например. К примеру, у нас всплывает окно, мы его закрываем, у нас WindowManager, и мы здесь видим, что-либо добавилось, либо все удалилось. Далее, вся информация о геолокации. Например, у нас есть LocationProvider. В более расширенном варианте там будет полностью писаться ваша геолокация вплоть до долготы и широты. И третий пример, тоже связанный со звуком, то есть какой у нас звук и насколько он громкий. То есть, например, volume 10 это у нас максимальный звук, и мы его увеличили до такого варианта (на экране «AudioManager: getStreamVolume streamType: 3 volume: 10»). Очень похож на Info, но, я бы сказала, что более подробная информация на него передается.

Чем снимать логи?

Android

Первый инструмент – это Android Studio, в частности, его утилита Logcat. Что надо для того, чтобы начать снимать логи через Android Studio? Первое, конечно же, необходимо перевести устройство в режим разработчика. В настройках вы ищете номер вашего билда или операционной системы, в зависимости от того, на каком устройстве вы собираетесь смотреть, оно меняется от производителей. Нажимаете около 10 раз на эту информацию, и у вас появляется сообщение «Не желаете ли вы перевести ваше устройство в режим разработчика?». Нажимаете «Ок», и ваш телефон уже не такой обычный. Далее, вам надо подключить это устройство по USB к вашему компьютеру, конечно же, установить на сам компьютер Android Studio, он устанавливается как на Windows, так и на MacOS, тут проблем никаких нет. 

Открывая Android Studio, выбираем вкладку Logcat. Под цифрой 1 то, где найти это сокровенное слово. Нажимая на него, переходим в сообщения в реальном времени. Под цифрой 2 окно, где мы выбираем телефон, с которого будем снимать логи. Соответственно, если ничего не подключено либо ваш телефон не виден, здесь вы ничего не сможете выбрать. Под цифрой 3 интересный момент: если вы хотите полностью снимать все логи (системные и со всех приложений, которые у вас сыпятся), не выбирайте здесь ничего. Если вы выберете какое-то конкретное приложение, которое debug’ное, у вас будут показываться логи исключительно по нему. Рядом с цифрой 3 вы видите слово Verbose – это уровень того лога, который вы хотите видеть. То есть, если вы выберете Error, будут только Error’ы. И под цифрой 4 у вас поле поиска. Это то поле, где вы сможете фильтровать выдачу по приложению, по уровню, по какой-то утилите, которая вам нужна, соответственно, это у нас regular выражение, и там все довольно просто ищется по совпадению. Вариант второго скриншота – это я уже выбрала конкретную сборку, и мы видим, что у нас по этой сборке сыпятся логи.

Перейдем к следующему варианту. Это через терминал снимать через тот же самый Logcat. Нам нужно, чтобы устройство стояло в режиме разработчика, подключаем это устройство по USB к компьютеру, на компьютер надо установить Android Debug Bridge. Открываем терминал и пишем две команды: первая – «adb devices», которая показывает, какие устройства подключены и какие adb видит устройства, второй командой мы говорим: «Запусти утилиту Logcat у конкретного устройства». То есть, при первой команде вы увидите, как ваше устройство называется, во второй команде вы его просто дополняете. Как это выглядит: вот мой терминал, я вижу то, что мое устройство называется 7BKDU… , оно подключено по USB, и мой Mac его видит. Я ввожу команду adb – s «название устройства» Logcat. 

Дальше у вас в терминале, примерно так же, как и в Android Studio, будут в режиме реального времени сыпаться логи. Разберем, как их читать. Под цифрой 1 будет дата и время, когда пришла запись. Под цифрой 2 – маленький столбец, где вы видите буквы V, D, E, I и так далее. Это как раз те самые уровни нашего логирования Debug, Verbose, Warning или Info. В графе 3 – названия – инструменты, утилиты или части ОС, откуда идет сообщение, и, соответственно, его расшифровка – что конкретно у нас происходит. Конечно, выглядит это так, что в Android’е это все намного удобнее и приятнее, легко можно фильтровать. В Terminal’е фильтровать будет уже посложнее, надо будет менять саму команду, добавлять ключи, которые бы фильтровали выдачу по уровню либо по отдельному приложению. 

Третий вариант, которым вы можете воспользоваться для снятия логов, это SDK Platform Tools. Для этого нам надо перевести устройство в режим разработчика и подключить его к компьютеру по USB, скачать на компьютер папку SDK Platform Tools, она есть под разные операционные системы. Далее открываем папку в терминале, именно чтобы была открыта папка SDK Platform Tools. Затем пишем команду «adb logcat – d – v time > .log.txt», что говорит о том, что конкретно и в каком варианте мы хотим видеть в этих логах (то есть время, приоритеты, тэги различные) и говорим, что мы хотим сохранять эти логи в log.txt. Вот мы написали команды и начинаем выполнять действия на нашем устройстве, то есть, нажимать на различные компоненты либо воспроизводить баг, который вам мешает, и вы хотите снять с него логи. Далее прерываете выполнение этой команды (на Mac это ctrl+C), и в нашу папку добавляется этот лог (android – debug.log). 

Открываем его, как мы видим, информация похожа на ту, что в Terminal, единственное, как вы прекратили команду, этот файл больше не обновляется до тех пор, пока вы снова не повторите эту команду. Опять же, в таблице 1 мы видим дату и время прихода сообщения, таблица 2 – уровень наших логов, в таблице 3 мы видим, от какой части системы у нас сыпятся данные, лог и его расшифровка.

iOS

Конечно же, первое, о чем я хотела бы рассказать, это xCode и встроенный для него симулятор. К сожалению, xCode – программа только для MacOS. Чтобы снять с симулятора логи, нужно установить xCode, зайти в меню, открыть Developer Tools и симулятор. Симулятор – дополнительная программа, которая позволяет воспроизводить работу системы, если у вас нет физического девайса. 

В этот симулятор мы устанавливаем нужное нам приложение, выбираем, какой конкретно IPhone, его размеры, разрешение и операционную систему. И уже в симуляторе выбираем пункт «Debug» и «Open System Log». Это выглядит так: я выбираю в самом симуляторе папку Debug и подвкладку Open System Log. Он точно так же идет в режиме реального времени, но они (логи) выведены по-другому, не так, как на Android. 

Мы видим, что тут уже нет уровня логирования, есть дата и время. Цифра 2 – сообщение, что мы вообще видим. Мы видим, с какого устройства была снята информация.

В моем случае это имя моего Mac. Видим дополнительную запись, с какого элемента системы это сообщение пришло и его расшифровка. Например, в логах IOS придётся поковыряться чуть поподробнее, чем в Android. 

Второй инструмент тоже связан с xCode, но он идет по другой «дорожке». Это Devices and Simulator. Устанавливаем xCode, подключаем устройство по USB, тут уже важно, чтобы было реальное устройство. В самом xCode открываем вкладку Window, там выбираем подвкладку Devices and Simulator. Нажимаем у устройства «Open Console». На панели видим название нашего устройства, какая у него операционная система, модель, и правее этой кнопки нам интересно «Open Console». 

Под цифрой 1 мы видим все приложения, которые дополнительно установлены на наши устройства, в колонке под цифрой 2 – версия этого устройства, которую разработчик указывает. Третье пишется URL нашего устройства. То есть, например, у вашего разработчика, у вашей компании, у вашего приложения есть свой URL, по которому он ходит. Соответственно, здесь он отражен. 

Как это все выглядит: здесь довольно удобно отслеживать, как сыпятся логи. Они тоже сыпятся в реальном времени, и, если их никак не фильтровать, они будут постоянно падать, но здесь все удобно смотреть. У нас есть время этого сообщения, процесс – это с какой части системы, приложения пришло сообщение. В колонке «Сообщение» мы видим подробное описание того, что происходит, что не так, вся сервисная системная информация. Что интересно, именно в Devices and Simulator есть поиск, который позволяет фильтровать выдачу. То есть, справа сверху мы можем написать название нашего приложения, и у нас все отфильтруется по процессу. Также мы можем приостановить выдачу по кнопке, и тогда логи перестануть хаотично и беспорядочно сыпаться (чтобы удобнее искать то, что вы хотите найти на устройстве).

Как снимать логи с IOS на Windows

Есть приложение iMazing, которое ставится на Windows и MacOS. Подключаете устройство по USB и в меню выбираете «показать консоль устройства». В целом, это приложение платное, однако, снять логи с устройства можно на триальной версии, она никак не ограничивается. У нас открывается следующее окно: мы видим, какое устройство у нас подключено, мы видим аккаунт, и в меню мы видим как раз «показать консоль устройства».

Если мы на нее нажмем, увидим следующее. Первый квадрат – это дата и время, когда мы получили это сообщение, второй пункт – от кого, с какого устройства, так как это уже реальный девайс, он называется у нас «IP-040». Далее, пишется, с какой части системы прилетело сообщение и его описание. Под цифрой 3 мы видим поле поиска. Мы можем фильтровать эту выдачу, можем остановить поток входящих логов по кнопке «пауза» и отфильтровать ее в поле поиска. Это поможет вам сконцентрироваться на конкретном запущенном приложении. Также у iMazing можно эти логи сохранять по соответствующей кнопке.

Перейти к содержимому

Существует несколько способов просмотреть логи с iOS-устройства.

1. Через само устройство — в этом случае посмотреть можно лишь только краш-репорты (crashlog), но ведь это самое то для тестировщика! Идем в «Settings» -> «General» -> «About» -> «Diagnostic & Usage» -> «Diagnostic & Usage Data» и смотрим все доступные отчеты о падении приложений. Единственная проблема заключается в том, что здесь нет удобного средства для экспорта этих самых отчетов. Тем не менее, при крайней необходимости можно скопировать нужный участок лога через стандартную функцию копирования текста.

2. Через XCode — к сожалению, среда разработки XCode доступна исключительно для MacOS. По этой и многим другим причинам было бы неплохо, если тестировщики iOS-приложений имели в своем распоряжении хотя бы Mac mini. Для просмотра краш-репортов нужно подключить iOS-устройство к компьютеру, нажать кнопку «Use for Development», после чего в разделе «Device Logs» уже можно непосредственно просматривать логи и, что не маловажно, импортировать их!

Просмотр системных логов с iPhone и iPad

3. Через программу «iPhone Configuration Utility» — хотя основная функция этой утилиты заключается в настройки профилей для iOS-устройств, в ней имеется консоль, куда выводятся все логи с подключенного устройства. Незаменимая вещь для тестировщика. К тому же, утилита доступна и для Windows.

Просмотр системных логов с iPhone и iPad

4. Через синхронизацию iTunes — каждый раз, когда вы синхронизируете свое iOS-устройство с iTunes на компьютере, логи сохраняются в следующие директории:

Mac OS X:
~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>

Windows XP
C:Documents and Settings<USERNAME>Application DataApple ComputerLogsCrashReporterMobileDevice<DEVICE_NAME>

Windows Vista or 7
C:Users<USERNAME>AppDataRoamingApple ComputerLogsCrashReporterMobileDevice<DEVICE_NAME>

Использование Windows

  1. Установите iTools на свой компьютер с Windows.
  2. Запустите iTools.
  3. Подключите устройство iOS к машине Windows через USB.
  4. Щелкните Toolbox.
  5. Когда вы будете готовы воспроизвести проблему, нажмите «Журнал в реальном времени» в разделе «Дополнительные функции». …
  6. Нажмите «Сохранить», чтобы сохранить журнал действий.

Как просмотреть журналы iOS?

Подключите iOS к компьютеру с помощью кабеля USB или Lightning. Идти в Окно> Устройства и выберите свое устройство из списка. Щелкните треугольник «вверх» в левом нижнем углу правой панели. Здесь будут отображаться все журналы всех приложений на устройстве.

Как я могу увидеть журналы моего iPhone без Xcode в Windows?

Получайте отчеты о сбоях и журналы с iPhone или iPad без Xcode

  1. Подключите iPad или iPhone к Mac и синхронизируйте его как обычно.
  2. Нажмите Command + Shift + G и перейдите в ~ / Library / Logs / CrashReporter / MobileDevice /
  3. Для тех, у кого несколько устройств iOS, выберите правильное устройство, с которого вы хотите получить журнал сбоев.

Как отлаживать iOS в Windows?

Больше видео на YouTube

  1. Установите iTunes на свой компьютер с Windows 10. …
  2. Установите Node. …
  3. Запустите Windows PowerShell от имени администратора. …
  4. Установите remotedebug-ios-webkit-adapter. …
  5. Подключите устройство iOS к ПК с Windows 10 через USB. …
  6. Запустите плагин адаптера webkit, прослушивающий порт 9000.…
  7. Включите веб-инспектор на вашем устройстве iOS.

Как просмотреть журналы сбоев iOS?

Найдите журналы на вашем устройстве iOS

  1. Откройте приложение «Настройки».
  2. Коснитесь Конфиденциальность.
  3. Коснитесь Аналитика и улучшения.
  4. Коснитесь Данные аналитики.
  5. Прокрутите вниз и выберите любые элементы, которые начинаются с «Pocket» и показывают дату, когда произошел сбой.
  6. Нажмите кнопку «Поделиться» в правом верхнем углу и отправьте журнал сбоев по электронной почте в Pocket.

Как получить журналы сбоев iOS?

Чтобы найти и отправить по электронной почте отчеты о сбоях для приложений iOS, iPadOS, watchOS и tvOS:

  1. Откройте на устройстве раздел «Аналитика и улучшения» в настройках. …
  2. Коснитесь Данные аналитики.
  3. Найдите журнал своего приложения. …
  4. Выберите желаемый журнал.
  5. Коснитесь значка «Поделиться» и выберите «Почта», чтобы отправить отчет о сбое в виде почтового вложения.

Как мне найти журнал устройства?

Как получить журналы устройства с помощью Android Studio

  1. Подключите устройство Android к компьютеру через USB-кабель.
  2. Откройте Android Studio.
  3. Щелкните Logcat.
  4. Выберите «Без фильтров» на панели в правом верхнем углу. …
  5. Выделите нужные сообщения журнала и нажмите Command + C.
  6. Откройте текстовый редактор и вставьте все данные.
  7. Сохраните этот файл журнала как.

Как найти журнал активности на iPad?

Когда время экрана настроено, вы можете просматривать сводку в «Настройки»> «Время экрана»> «Просмотреть все действия».. Вы можете увидеть сводку использования вашего устройства за текущий день или за последнюю неделю.

Как получить журналы Xcode на моем iPhone?

Получение журналов устройства из Xcode

  1. Подключите телефон к ноутбуку и откройте Xcode.
  2. Выберите «Устройство и симуляторы» в меню «Окно». …
  3. Выберите свое устройство на левой панели.
  4. Убедитесь, что журналы развернуты. …
  5. Нажмите кнопку «Сохранить консоль» (внизу справа), чтобы сохранить информацию журнала в консоли.

Как проверить журналы в Xcode?

Используйте инструмент журнала для получения сообщений журнала из командной строки. Когда вы запускаете приложение в Xcode с присоединенным отладчиком, Xcode автоматически отображает зарегистрированные сообщения. Точно так же вы можете использовать инструменты запуска из Xcode для записи и анализа указателей, созданных вашим приложением.

Как просмотреть журналы в Xcode?

Однако на самом деле в Xcode 4 есть неплохой обходной путь: вы можете просмотреть логи в большом окне редактора в центре экрана. В верхней части фрейма навигатора щелкните значок Журналы. Оттуда вы увидите список всех ваших недавних журналов, как журналов сборки, так и консоли отладчика.

Как отлаживать Safari в Windows?

CTRL+ «,», Чтобы открыть «Настройки Safari»> «Дополнительно»> «Показать меню« Разработка »в строке меню. Закройте и нажмите Alt, чтобы увидеть результат.

Как протестировать браузер Safari в Windows?

Вот основные способы выполнения тестирования браузера Safari в Windows.

  1. Установка Safari на машину с Windows. …
  2. Использование Oracle VM Virtualbox. …
  3. Использование инструментов кроссбраузерного тестирования.

Как мне установить браузер Safari в Windows?

Как скачать, установить и запустить Safari в Windows

  1. На ПК с Windows откройте любой веб-браузер и перейдите по этой ссылке на Apple.com:
  2. Выберите для сохранения SafariSetup.exe.
  3. Когда SafariSetup.exe завершит загрузку, выберите «Запустить» установщик и пройдите через стандартный установщик Windows, как обычно.

#1

eugenemsa

    Новый участник

  • Members
  • Pip

  • 2 сообщений
  • ФИО:Evgeniy Moskalenko

Отправлено 30 января 2015 — 08:20

Здравствуйте, подскажите пожалуйста наиболее удобный вариант снятия логов с iOS устройств.

Сейчас тестируем игрушку на iOS девайсах, логи снимали через cinject+itunes+папочку «C:UsersDefaultAppDataRoaming…».

Очень неудобно и не всегда появляется файлик крэш-лога в папочке, хотя cinject показывает, что крэш — происходит.

Операционная система Windows. Спасибо. :-)

  • 0

  • Наверх


#2

kosvan

kosvan

    Новый участник

  • Members
  • Pip

  • 1 сообщений

Отправлено 30 января 2015 — 12:29

iphone configuration utility помогает еще

очень удобно очистить окно консоли, нажать кнопку и посмотреть что случилось по нажатию этой кнопки.

  • 0

  • Наверх


#3

Лелик32

Отправлено 01 февраля 2015 — 13:16

iphone configuration utility помогает еще

Хочу отметить, что версия для OS X давно уже не обновлялась, а с OS X 10.10 так вообще логи не отображает.

Евгений, а чем вам Xcode не устраивает?

  • 0

  • Наверх


#4

eugenemsa

eugenemsa

    Новый участник

  • Members
  • Pip

  • 2 сообщений
  • ФИО:Evgeniy Moskalenko

Отправлено 01 февраля 2015 — 18:08

iphone configuration utility помогает еще

Хочу отметить, что версия для OS X давно уже не обновлялась, а с OS X 10.10 так вообще логи не отображает.

Евгений, а чем вам Xcode не устраивает?

Дак у нас же Windows.. :-)

  • 0

  • Наверх


#5

BingBongParty

BingBongParty

    Новый участник

  • Members
  • Pip

  • 7 сообщений
  • ФИО:Сергей Якутин

Отправлено 12 февраля 2015 — 13:50

Под винду есть iTools. Показывает как консольные так и крэшлоги

  • 0

  • Наверх


#6

tshuvaev

tshuvaev

    Новый участник

  • Members
  • Pip

  • 53 сообщений
  • ФИО:Timur
  • Город:Москва

Отправлено 09 декабря 2015 — 14:38

chrome://inspect/#devices  — вбей в хром строку

  • 0

  • Наверх


#7

Bess

Отправлено 08 декабря 2017 — 08:49

chrome://inspect/#devices  — вбей в хром строку

 для ios не работает

  • 0

  • Наверх


#8

Spock

Отправлено 22 декабря 2017 — 10:15

по мне так это дорогое удовольствие, разрабатывать iOS приложения под виндой, да и мазохизм

  • 0

  • Наверх


#9

Pavel_Liubchyk

Pavel_Liubchyk

    Новый участник

  • Members
  • Pip

  • 2 сообщений

Отправлено 04 июня 2018 — 08:23

Добрый день. Может кто подскажет по теме IOS логов, операционная система Линукс Ubuntu, промучился 2 дня для настройки виртуальной машины и установки macOS Sierra. безрезультатно(( может есть альтернативное ПО под Линь?

  • 0

  • Наверх


#10

baxatob

baxatob

  • ФИО:Юрий
  • Город:Riga

Отправлено 04 июня 2018 — 09:05

Скорее переходите на нормальный Мак. Иначе постоянные костыли и депрессия гарантированы, а в результате все равно перейдете на Мак.

  • 2

  • Наверх


#11

Spock

Отправлено 04 июня 2018 — 09:11

Скорее переходите на нормальный Мак. Иначе постоянные костыли и депрессия гарантированы, а в результате все равно перейдете на Мак.

правильно, купить Мак и тестировать-разрабатывать ПО для эппловских ОС намного дешевле чем постоянно что-то костылить

  • 0

  • Наверх


#12

Pavel_Liubchyk

Pavel_Liubchyk

    Новый участник

  • Members
  • Pip

  • 2 сообщений

Отправлено 04 июня 2018 — 11:08

Спасибо за совет!)) уже несколько раз озвучивал такое предложение руководству, но ответ один, борись, нарабатывай опыт. Опыт конечное крутой, но нервы дороже))

  • 0

  • Наверх


#13

SALar

Отправлено 04 июня 2018 — 11:42

746f0a5e55edc05a2404fa63e83caae5.jpg

  • 1

  • Наверх


#14

SALar

Отправлено 04 июня 2018 — 11:49

Если результат нафиг никому не нужен и зарплату платят — делайте как просят. Результата конечно не будет, но кому он нужен этот результат?!

Вон «автоматизаторы тестирования» насколько ухудшают процесс, а им еще и зарплату добавляют! Вот  и вы, расслабтесь и носите воду решетом. 

img_13.jpg

  • 2

  • Наверх


#15

testerpro

testerpro

    Новый участник

  • Members
  • Pip

  • 7 сообщений

Отправлено 22 августа 2019 — 18:02

Тот же вопрос у меня, что то не понял.
Как снимать логи работы iOS приложения с Мака?
Я что то по гуглил и вроде нет особо решения… или не того нагуглил)

  • 0

  • Наверх


#16

Spock

Отправлено 23 августа 2019 — 10:43

Тот же вопрос у меня, что то не понял.
Как снимать логи работы iOS приложения с Мака?
Я что то по гуглил и вроде нет особо решения… или не того нагуглил)

используйте Firebase Crashlytics и будет всем счастье

  • 0

  • Наверх


How To Get iOS Logs on Windows PC?

Getting iPhone and iPad logs on your Windows PC

Kaspar Kikerpill avatar

Written by Kaspar Kikerpill

Updated over a week ago

There are few ways to get logs from your iPhone on Windows. One option we’ll describe is by using an all-in-one Windows app called 3uTools. You can download it from here.

Note: Any links to third-party software available on this website are provided “as is” without warranty of any kind, either expressed or implied and such software is to be used at your own risk.

Watch a short video on how to use it to capture logs or read a step-by-step guide below:

  1. Download and install the latest 3uTools on your PC

  2. Connect your iDevice to PC using the USB cable

  3. Open 3uTools

  4. Click “Toolbox”

  5. Click “Realtime Log” to get the Console logs (You can pause, export or save the logs.)

Once you open real-time Log, you will see what’s happening in your device in real-time, however, make sure you are ready to reproduce the issue before you do it. 

NB! When you are ready to save the file, always do so in .txt format. 

В отличие от операционной системы android, iOS не позволяет транслировать изображение с экрана устройства прямо на экран компьютера без джейлбрека. Однако кое-какую информацию получить можно.
1. Снятие скриншотов.

Снятие скриншотов возможно путем одновременного нажатия кнопки включения экрана и кнопки домой. Скриншот сохраняется в фото устройства и может быть синхронизирован с компьютером

2. Синхронизация логов после крешей.

Если ваша программа крешнула(креш — это аварийное завершение программы, когда она пропадает с экрана), то устройство на iOS обязательно запишет крешлоги. Данная информация необходима разработчикам для поиска и исправления крешей. Если у вас операционная система windows, то нужно пдключить устройство к компьютеру,запустить iTunes, выбрать ваше устройство слева и нажать синхронизировать. В результате все Логи с устройства будут записаны в папку вида(Windows 7) —
c:Users[Имяпользователя]AppDataRoamingApple ComputerLogsCrashReporter
Для WinXP логи в директории
C:Documents and Settings[Имяпользователя]Application DataApple computerLogsCrashReporter
Где [Имяпользователя] — имя текущего пользователя системы
В имени каждого из логов содержится время создания. Вам останется только приложить нужные логи к описанию ошибки

3. XCode Organizer on Mac.

Если вы используете MAC вместо Windows, то для получения логов можно использовать специальную программу, которая идет с XCode — Organizer.
Данная утилита позволяет без проблем копировать логи, снимать скриншоты.
Интересная особенность данной утилиты — вкладка console. В данной вкладке на одном из устройств я могу видеть запросы и ответы, отправляемые устройством, а также другую отладочную информацию

Дмитрий Тачков

Работник банка или другого фин. учреждения
Подробнее

Создатель проекта, финансовый эксперт

Привет, я автор этой статьи и создатель всех калькуляторов данного проекта. Имею более чем 3х летний опыт работы банках Ренессанс Кредит и Промсвязьбанк. Отлично разбираюсь в кредитах, займах и в досрочном погашении. Пожалуйста оцените эту статью, поставьте оценку ниже.

Понравилась статья? Поделить с друзьями:
  • Как снять лицензию с windows 10
  • Как снять пароль с ноутбука при включении windows 10
  • Как снять лимитное подключение в windows 10 на ноутбуке
  • Как снять пароль с ноутбука если забыл пароль windows 7
  • Как снять копию экрана на компьютере windows