Как посмотреть ошибки в iphone

Vsesam

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

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

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

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

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

Оно оценит производительность любого айфона за не более чем 5 минут без каких-либо затрат и посещения сервисов.

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

Приложение TestM проверить айфона на ошибки

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Приложение называется TestM. Установить его можете прямо с магазина App Store. Оно реально, качественно проверит компоненты телефона и выявит все неисправности.

С помощью приложения TestM можно в айфоне проверить и исправить ошибки экрана, связь (интернет, звонки), GPS, датчики, микрофон, камеру …

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

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

Полная проверка естественно, более обширна и надежна, но кто спешит проверяйте можно сказать мгновенно.

В любом случае от вас требуется лишь выполнение инструкций, отображающихся на экране айфона. Попробуйте – это бесплатно.

Приложение Antutu проверить айфон на ошибки

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

AnTuTu Benchmark — это известный и ценный тест, который позволит вам проверить возможности айфона.

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

Основное применение программы — изучить возможности вашего устройства. Анализ включает в себя, среди прочего, RAM, CPU, GPU или элементы интерфейса.

Баллы за отдельные элементы суммируются, и конечный результат можно сравнить с другими устройствами iOS.

Используя AnTuTu Benchmark, мы также имеем доступ к базовой информации о нашем устройстве.

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

Интерфейс приложения прост и понятен, к сожалению, он на момент написания не был адаптирован к новой плоской iOS.

AnTuTu Benchmark можно скачать бесплатно, приложение можно использовать как быстрый источник информации о нашем устройстве.

Приложение Geekbench проверить айфон на ошибки

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Geekbench — это тест, позволяющий проверить ваш iPhone или iPad. Студия разработки Primate Labs давно зарекомендовала себя, особенно благодаря инструменту тестирования Geekbench, который также доступен для загрузки с устройств iOS для тестирования производительности вашего устройства Apple.

После запуска приложения вы получите основную информацию об устройстве, а также возможность запустить тест.

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

Через Dropbox вы можете загрузить результаты тестов в облако и получить к ним доступ с других устройств. Все тесты также хранятся в приложении и могут быть просмотрены позже. Успехов.

Источник

Программа для диагностики айфона: для чего она нужна

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Для чего нужна диагностика iPhone?

Все хотят убедиться, что купленное устройство работает правильно, и приложение для диагностики iPhone может помочь. Есть разные методы тестирования телефонов, и они отличаются в зависимости от производителя и операционной системы. Стоит только выбрать перед использованием, какой путь проверки будет удобнее: программа для диагностики айфона на самом устройстве или через компьютер.

Они тестируют функции смартфона и проверяют наличие проблем. Есть несколько вещей, которые можно проверить. Например, тестирование Bluetooth гарантирует, что телефон может «отправлять и получать запросы на «сопряжение» с другим устройством». Если bluetooth не работает, вы не сможете подключиться к беспроводным устройствам, таким как динамик или селфи-джойстик.

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

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

Бесплатный метод диагностики iPhone

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Внутренний инструмент исправности батареи

Раздел «Состояние батареи Apple iPhone» в настройках позволит пользователям проверить работоспособность своей внутренней батареи iPhone. Чтобы это сделать:

перейдите в настройки > прокрутите вниз до батареи > нажмите там, где написано: «Состояние батареи» и запишите «максимальную емкость».

Apple утверждает, что аккумулятор в диапазоне от 80 % до 100 % считается хорошим и не нуждается в замене. Когда максимальная емкость становится ниже 80 %, пользователи начинают видеть быстрое истощение батареи. Раздел с пометкой «пиковая производительность» сообщает пользователям, поддерживает ли она нормальную пиковую производительность. Если батарея разряжена или перестает работать правильно, то здесь будет указано «обслуживание». Apple предлагает больше информации о состоянии аккумулятора и его использовании на их веб-сайте

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

Диагностика

Выключите питание смартфона. Затем, удерживая кнопки «увеличение громкости» и «домой», подключите провод к источнику питания. Это позволит вам использовать новую систему диагностики для Apple. Когда вы увидите экран диагностики, нажмите «Начать диагностику» и подключитесь к сети Wi-Fi. Если вы подключены к Apple Store, у вас будут дополнительные опции. Если нет, увидите сообщение о посещении сайта поддержки. После того как вы закончите, просто нажмите «Выход», и все готово. На экране появится вся необходимая информация о вашем телефоне.

Диагностика внутри 6 iOS

Apple просит клиентов помочь улучшить iOS, периодически предоставляя аналитику, диагностику и информацию об использовании. Чтобы провести диагностику на айфоне 6-го поколения, нужно выполнить данные действия:

Перейдите в «Настройки»> «Общие»> «О программе»> «Диагностика и Использование» и выберите: «Автоматически отправлять» или «Не отправлять».

Сервер Exchange (GSX)

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Диагностика TestM

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

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

Чтобы выполнить проверку, не нужно разбираться в приложении: инструкции будут появляться на экране. Полный набор тестов для диагностики телефона может не только проверить все типы датчиков, сетевые интерфейсы, работу вибромотора, камеру и работу зарядного устройства, но и определить на фотографии излишние шумы и битые пиксели.

iTunes

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

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

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

Панель управления синхронизирует устройство с компьютером и может провести диагностику айфона 6 через компьютер самостоятельно. ICloud от Apple отлично работает на всех своих устройствах. Вам не нужно беспокоиться о потере ваших файлов, потому что он делает всю грязную работу в фоновом режиме.

Источник

[iOS] Просмотр системных логов

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

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

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

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

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

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

Windows XP
C:\Documents and Settings\ \Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\

Windows Vista or 7
C:\Users\ \AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\

Источник

Демистификация аварийных журналов iOS

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Прежде чем отправить в AppStore ваше приложение, вы долго тестируете его, чтобы убедиться, что ваше приложение работает безупречно. Оно отлично работает на вашем устройстве, но после того, как приложение попало в App Store, некоторые пользователи сообщают, что оно «вылетает»!

Если вы похожи на меня, то вы хотите, чтобы ваше приложение было на пять с плюсом. Значит, вы возвращаетесь в свой код, чтобы исправить сбой… а куда надо смотреть?

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

В этом уроке вы узнаете, как выглядят аварийные журналы, а также как получить аварийный журнал из iOS-устройства и iTunes Connect. Вы узнаете о символизации и о том, как вернуться от аварийного журнала назад, в код. Мы также займёмся отладкой приложения с ошибками, которые могут привести к сбою в определенных ситуациях.

Что это за аварийный журнал и где его взять?

Когда приложение «падает», то есть аварийно завершает свою работу на устройстве iOS, операционная система создает отчет о сбое или аварийный журнал. Этот журнал сохраняется на устройстве.

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

Есть много способов, как получить аварийный журнал с устройства.
Устройство, которое синхронизируется с iTunes, хранит свои аварийные журналы на ПК. В зависимости от ОС, вот места, где их можно найти:

(5) Состояние потока

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

(6) Дамп памяти

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

Демистификация с помощью символизации

Первый взгляд на трассировку потоков говорит о том, там нет смысла. Ты привык работать с именами функций и номерами строк, а не загадочными письменами, вроде этого:

Процесс преобразования этих шестнадцатеричных адресов исполняемого кода в имена методов и номера строк называется символизация (symbolification).

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

Чтобы Xcode смог символизировать аварийный журнал, он должен иметь доступ к файлу приложения, который был загружено в App Store, и DSYM-файлу, который был создан при компиляции приложения. Тут должно быть точное соответствие версий, в противном случае аварийный журнал не может быть полностью символизирован.

То есть, важно сохранять каждую сборку, которую вы распространяете среди пользователей. Когда вы архивируете ваше приложение перед отправкой, Xcode сохраняет откомпилированный файл. Вы можете найти все архивы вашего приложения в Xcode Organizer, вкладка Archives.

Примечание: Вам нужно хранить и откомпилированный файл приложения и dSYM-файл, чтобы иметь возможность в полной мере символизировать отчеты о сбоях. Вы должны архивировать эти файлы для каждой сборки, которую вы выкладываете в iTunes Connect.

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

Если вы используете пункт меню Build and Archive, файлы будут сохранены в нужном месте автоматически.

Сбои, вызванные нехваткой памяти

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

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

Если памяти всё равно не хватает, система может завершить фоновые процессы, чтобы уменьшить нагрузку на память. Если достаточный объем памяти был освобожден, ваше приложение будет продолжать работать и отчёт о нехватке памяти не будет сгенерирован. В противном случае, ваше приложение будет аварийно завершено iOS, и будет создан аварийный журнал.

В аварийных журналах, созданных при нехватке памяти, нет раздела с трассировкой потоков приложения. Вместо этого, есть отчёт об использовании памяти каждым процессом с указанием количества страниц памяти. (На момент написания документа – одна страница равняется 4 Кб.)

Пометка (jettisoned) рядом с названием процесса говорит о том, что процесс был завершён iOS, чтобы освободить память. Если такая пометка около вашего приложения, это означает, что ваше приложение было аварийно остановлено, так как использовало слишком много памяти.

Журнал сбоя, вызванного нехваткой памяти выглядит примерно так:

Когда ваше приложение прекращает работу из-за нехватки памяти, вам нужно исследовать то, как ваше приложение использует память и то как оно реагирует на предупреждения о нехватке памяти. Вы можете использовать утилиту Instruments, профили Allocations и Leaks, чтобы обнаружить утечки памяти. Если вы не знаете, как использовать эти инструменты, почитайте это руководство для начала.

И не забывайте о виртуальной памяти! Профили Leaks и Allocations утилиты Instruments не отслеживают графическую память. Вам необходимо при запуске профиля Allocations просмотреть данные профиля VM Tracker, чтобы узнать об использовании графической памяти.

Профиль VM Tracker по-умолчанию отключен. Для профилирования вашего приложения с VM Tracker, выберите строку с названием профиля VM Tracker в запущенной с профилем Allocations утилите Instrument, там поставьте флаг Automatic Snapshotting или просто нажмите кнопку Snapshot Now.

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

Коды исключений

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

Код исключения указывается в разделе № 3 (Исключение), см. приведенный выше пример. Есть несколько кодов исключений, которые могут возникнуть чаще, чем остальные.

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

Вот некоторые из наиболее распространенных кодов исключения:

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

В омут головой!

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

Сценарий 1. Плохой код на завтрак

Да ладно, не принимайте близко к сердцу! Как любой из этих комментариев даст вам подсказку? Взгляните лучше в аварийный журнал:

Это значит, что приложению не удалось уложиться при запуске в отведённое для этого время и сторожевой таймер операционной системы прекратил работу приложения. Круто! Вы нашли причину, но почему (и что ещё более важно, где) это происходит?

Смотрим дальше журнал. Трассировку потоков принято читать в обратном порядке, снизу вверх. Самый последний фрейм (25 фрейм: libdyld.dylib) – это первый вызов, затем фрейм 24, Rage Masters, main (main.m:16) и так далее.
Нам интересны фреймы, которые связаны с кодом вашего приложения. Так что игнорируйте системные библиотеки и фреймворки. Вот эта строчка нам интересна:

Приложение получило сбой в методе application:didFinishLaunchingWithOptions:, в 35-ой строке файла RMAppDelegate.m (RMAppDelegate.m: 35). Откройте Xcode и посмотрите на эту строку:

Да, вот оно! Синхронный вызов веб-сервиса? В главном потоке? В application:didFinishLaunchingWithOptions. Кто писал этот код?

Чтобы перенести вызов в другое место потребуются значительные изменения, поэтому, в данный момент, просто сделаем минимум изменений, просто, чтобы приложение аварийно не останавливалось при запуске. Вы всегда можете вернуться к этому вопросу и сделать это совсем правильно. Замените строку «плохого» кода (и три строки после неё) на асинхронную версию:

Сценарий 2. Где эта кнопка?

Пользователь пишет: «Я не могу отметить моего любимого персонажа закладкой. Когда я пытаюсь это сделать, приложение падает. «.
Другой пользователь: «Закладки не работают. Я вхожу в Подробную информацию, нажимаю на кнопку «Закладка» и БА-БАХ!»

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

Обычно этого не происходит, так как если вы вызываете метод «foo» объекта «bar», то компилятор выдаст ошибку, что метод «foo» не существует. Но когда вы косвенно вызываете метод используя селектор, компилятор не сможет определить, существует или нет метод у объекта.

Вернёмся к аварийному журналу. Он говорит, что аварийный останов произошёл в потоке №0. Это значит, что у нас, скорей всего, ситуация, когда метод был вызван объектом главного потока, там где объект не реализует метод.

Если вы продолжите читать журнал трассировки, вы видите, что единственный вызов, связанный с вашим кодом – это фрейм 22, main.m: 16. Это не особенно помогло.
Посмотрим на вызовы фреймворков, и видим это:

Это не ваш код. Но по крайней мере, есть подтверждение, что был вызов нереализованного метода объекта.

Идём в RMDetailViewController.m, где реализована кнопка закладок. Найдём код, который делает закладку:

Тут всё выглядит нормально, так что проверим сториборд (XIB файл) и убедимся, что кнопки подключены правильно.

Как посмотреть ошибки в iphone. Смотреть фото Как посмотреть ошибки в iphone. Смотреть картинку Как посмотреть ошибки в iphone. Картинка про Как посмотреть ошибки в iphone. Фото Как посмотреть ошибки в iphone

Вот оно! В MainStoryboard.storyboard, кнопка связана с bookmarkButtonPressed: вместо bookmarkButtonPressed (обратите внимание на двоеточие в конце, которое говорит о том, что у метода есть параметр). Чтобы это исправить, замените название метода на такой:

Конечно, вы можете просто удалить связь с неправильным методом в XIB-файле и связать событие к правильным методом. В любом случае сработает.
И вот ещё одна причина аварийного останова устранена.

Сценарий 3. Закладкой больше, закладкой меньше.

Ещё одна жалоба от пользователя: «Я не могу удалить закладку на персонажа из окна закладок. «. И ещё одно письмо о том же: «Если я пытаюсь удалить персонажа из закладок, приложение падает. «

К этому моменту, вы уже привыкли, что письма от пользователей не бывают полезными. К аварийным журналам!

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

Давайте посмотрим трассировку, какие методы вызывались. Начните с нижней части. Последний вызов на ваш код в Rage Masters был в фрейме №6:

Посмотрим на фреймы дальше:

В фрейме №5, UITableView вызывает другой собственный метод, deleteRowsAtIndexPaths:withRowAnimation: а потом вызывается _endCellAnimationsWithContext:, который выглядит как внутренний метод Apple. Затем, происходит исключение фреймворка Foundation, handleFailureInMethod:object:file:lineNumber:description:.

Если собрать это вместе с жалобами пользователей, то это выглядит так, как будто вы имеете дело с ошибкой в процедуре удаления UITableView. Идём в Xcode. Вы знаете, куда идти? Может ли это сказать нам аварийный журнал? Смотрим строку №68 в RMBookmarksViewController.m:

Нашли, где проблема? Я буду ждать, пока вы не найдёте.

Кто-то забыл про источник данных! Код удаляет строку в представлении, но не меняет источник данных. Чтобы это исправить, замените код на следующий:

Вот так будет с каждой ошибкой! Бац! Бах! Бум!

Сценарий 4. Леденец

Письмо: «Мое приложение падает, когда персонаж лижет леденец. «. Другой пользователь: «Я нажимаю кнопку «Лизнуть леденец» несколько раз, а затем приложение вылетает!»

Вот аварийный журнал:

Этот журнал очень отличается от тех, что мы видели до сих пор!

Это аварийный журнал нехватки памяти iOS 6. Как уже говорилось ранее, аварийный журнал нехватки памяти отличается от других аварийных журналов, потому что он не указывает на конкретный файл или строку кода. Вместо этого, он рисует картину, сложившуюся в памяти устройства в момент ситуации, которая привела к аварийному останову.

Заголовок, впрочем, похож на заголовок обычного аварийного журнала: те же поля Incident Identifier, CrashReporter Key, Hardware Model, OS Version и другие.

При нехватке памяти iOS посылает предупреждение о низком уровне памяти активному приложению и завершает фоновые процессы. Если активное приложение продолжает увеличивать использование памяти, iOS завершает его.

Чтобы найти причину проблем с нехваткой памяти, необходимо профилировать приложение, используя утилиту Instruments. Если вы не знаете, как это делать, есть учебник. Вместо этого, мы решим проблему «в лоб», просто обработаем в нашей программе событие о нехватке памяти.
Перейдите в Xcode в RMLollipopLicker.m. Это там реализован контроллер представления лизания леденца. Взгляните на исходный код:

Когда пользователь нажимает кнопку запуска, приложение запускает в фоновом режиме процедуру lickLollipop несколько раз, а затем обновляет на экране количество лизаний. lickLollipop читает большую строку NSString из PLIST-файла и добавляет её в массив. Эти данные не критичны, и могут быть воссозданы, не влияя на работу пользователей.

И всё будет хорошо!

Что дальше?

Ура, вы прошли через все четыре сценария развития аварийных ситуаций! Ваше приложение работает намного лучше, и вы получили важные навыки отладки по ходу обучения.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *