Режим отладки на iOS - PullRequest
       2

Режим отладки на iOS

3 голосов
/ 13 сентября 2011

изучал это некоторое время и не совсем уверен, что делать.

Я хочу разрешить пользователям включать или отключать режим отладки. В режиме отладки NSLogs будет выводиться на консоль.

В настоящее время я могу включить или отключить режим отладки в настройках сборки, используя препроцессор (DEBUG), и использую следующий код для «блокировки» NSLogs.

#ifdef DEBUG
    NSLog(@"If you can see this then debug is on");
#endif

Я создал тумблер на странице настроек, чтобы получить ввод от пользователя, но я не знаю, как использовать этот ввод для неопределенного / переопределения DEBUG. Есть идеи?

Я не уверен, что это вообще возможно, поэтому любые альтернативные решения также будут оценены.

Большое спасибо:)

Ответы [ 2 ]

6 голосов
/ 13 сентября 2011

Вы не должны использовать директивы препроцессора: использование #ifdef DEBUG означает, что, если DEBUG не определено, этот фрагмент кода вообще не компилируется.

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

0 голосов
/ 13 сентября 2011

Я полагаю, что ваш блок кода будет проверять только то, что вы собираете для отладки или выпуска, и будет строить соответственно.

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

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

...