iOS: необязательные фрагменты кода для отладочных сборок - PullRequest
19 голосов
/ 31 января 2012

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

Ответы [ 2 ]

32 голосов
/ 31 января 2012

В настройках сборки вашего проекта найдите раздел определения препроцессора, в котором вы можете определить только переменную в вашей отладочной сборке, например DEBUG=1, а затем использовать ее в своем коде:

#if DEBUG
    NSLog(@"This will only print in debug!");
#endif

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

26 голосов
/ 31 января 2012

Проверьте настройки сборки вашего проекта на предмет отладки, чтобы убедиться, что «DEBUG» установлен - Apple дает вам это бесплатно - сделайте это, выбрав проект и нажав на вкладку «Параметры сборки».Найдите «DEBUG» и посмотрите, действительно ли установлен «DEBUG».

Build Settings tab of my project settings

, затем условно используйте код «DEBUG» в исходных файлах

#ifdef DEBUG

// Something to log your data here or even add a whole subview to see it on the device

#else

// 

#endif
...