Запуск приложения
Постройте и запустите приложение, но будьте внимательны. (Не то чтобы мы ждали неприятностей, а просто потому что.)
Отладка — «темная сторона» программирования для iOS
Мы где-то ошиблись. Но откровенно говоря, это нормальная сторона процесса разработки. Аварийное завершение приложения может объясняться множеством причин, поэтому сначала необходимо разобраться, что же произошло.
Предупреждения помогают Выявить Возможные проблемы
Как правило, если в ходе построения вашего приложения возникают ошибки, Xcode не запускает его — но к предупреждениям это не относится. Xcode преспокойно откомпилирует и запустит приложение; единственным признаком потенциальных проблем будет желтый значок на полях редактора Xcode. Две минуты, потраченные на просмотр предупреждений, порой спасают от многочасовой отладки.
Некоторые распространенные причины:
После выхода iOS 4.3 при использовании в коде устаревших свойств 2.0 или 3.0 выдаются предупреждения.
Отправка объекту сообщения, которое он не понимает (возможно, в результате опечатки или ошибки авто заполнения), приводит к выдаче предупреждения. Приложение откомпилируется, но, скорее всего, аварийно завершится во время выполнения.
Впрочем, это не наш случай. Наш код свободен от ошибок компиляции и предупреждений (по крайней мере, должен быть свободен). К счастью, сбой приложения в Simulator не приводит к полной потере информации о ходе выполнения (как на реальном устройстве). Xcode прерывает приложение в той точке, в которой его выполнение было бы прервано ОС. Давайте посмотрим, что же произошло.
Первый шаг отладки: консоль
Необходимо понять, почему в приложении произошел сбой. К счастью, Xcode обладает достаточно сильными отладочными возможностями. Сейчас мы займемся анализом информации, полученной при сбое, но позднее в книге будут рассмотрены более мощные отладочные средства.
Так как программа запускалась в Simulator, Xcode отображает отладочную панель в нижней части редактора. Увеличьте ее размеры, чтобы консольные сообщения было проще читать.
Взаимодействие с приложением во время выполнения
Xcode 4 обладает чрезвычайно мощными средствами отладки. Впрочем, одним из самых эффективных приемов является вывод на консоль с использованием NSLog(.). Информация, выведенная на консоль, поможет выявить скрытые проблемы. Более того, консоль не ограничивается выводом отладочной информации: считайте, что это своего рода «окно» в работающее приложение. На консоль выводятся отладочные сообщения, но когда приложение достигает точки прерывания, вы переходите в командный режим консоли. В этом режиме выполняются различные команды анализа состояния приложения: print, continue, where, up, down и т. д.
- Дата: 10-12-2014, 23:56