Вам следует изучить NSLogger. Хотя NSLog не дает вам какой-либо избирательности в отношении того, что вы видите от запуска к запуску, NSLogger может. NSLogger отображает выходные данные устройства (или симулятора) в собственном окне в OS X.
По сути, он добавляет концепцию удобства и уровня на выходе. Мастера Unix могут придраться к этому сравнению, но я вижу, что оно очень похоже на syslog. Средство просмотра NSLogger позволяет отображать выходные сообщения для одного или нескольких объектов (которые вы определяете), которые также соответствуют минимальному требуемому уровню.
Макросы определяют, что вы видите в окне вывода. Вот отрывок:
#ifdef DEBUG
#define LOG_GENERAL(level, ...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"general",level,__VA_ARGS__)
#else
#define LOG_GENERAL(...) do{}while(0)
#endif
Когда DEBUG выключен, сообщения не появляются. Когда включено, если в коде есть оператор LOG_GENERAL(), и ваше средство просмотра настроено на отображение объекта «общий», а ваш уровень достаточен для отображения, вы получите сообщение.
Он невероятно гибкий, и мне это очень нравится. Добавление в проект занимает около пяти минут. Пожалуйста, взгляните на страницу github, указанную выше, для получения полной информации и загрузки.
(Это не решит проблему, когда MPAVController заполняет консоль сообщениями, но помещает нужные сообщения в новое окно, что значительно упрощает контроль, фильтрацию и интерпретацию того, что вас интересует.)
15.10.2012