Если вы хотите, чтобы ваш NSLog работал только во время отладки и вы не хотите вносить какие-либо изменения в свой код, лучше всего сделать это в файле .pch:
#ifndef DEBUG
#define NSLog(x...)
#endif
ОБЪЯСНЕНИЕ И УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ:
Это означает, что если DEBUG не определен, он «переопределит» все NSLog, чтобы они ничего не делали, эта замена строки происходит перед компиляцией, поэтому ни один NSLog во всем коде не будет экранирован, ни один NSLog не останется в производстве по ошибке, это устраняет человеческий фактор. ошибка, связанная с тем, что вы забыли удалить NSLogs в рабочих приложениях.
DEBUG обычно определяется в режиме отладки по умолчанию во всех проектах Xcode. вы можете узнать, определен ли он по адресу:
Build Settings ->
Apple LLV #.# - Preprocessing ->
Preprocessor Macros -> Debug
если его нет добавьте
DEBUG=1
также, если у вас нет файла pch или он не подключен, вот что вам нужно сделать (поскольку он был автоматически добавлен в xcode 5, но больше не добавляется в xcode 6 и выше по умолчанию в новых шаблонах проектов)
Почему ProjectName-Prefix.pch не создается автоматически в Xcode 6?
person
user2387149
schedule
12.02.2015