Как получить условный код в зависимости от активной конфигурации? - PullRequest
4 голосов
/ 07 сентября 2010

Я хочу иметь условный код в моем приложении для iPhone в зависимости от конфигурации (Отладка / Выпуск / Распространение).Я не думаю, что XCode сообщает конфигурацию проекта как-то моему коду, например, нет макроса или чего-то такого, есть ли?

Лучшее решение, которое я придумал до сих пор: в настройках проектадля каждой конфигурации определите флаг в «Другие флаги C», например -DDEBUG, -DDISTRIBUTION и т. д.

Затем в моем коде есть условный код с макросами препроцессора, например

#ifdef DEBUG
// debug-configuration-specific code here
#endif
#ifdef DISTRIBUTION
// distribution-configuration-specific code here
#endif

Есть ли другой / лучший / более элегантный способ сделать то же самое?

Относительно того, почему это необходимо: я настраиваю некоторую конфигурацию во время выполнения в зависимости от конфигурации.Например, я работаю против HTTP API, и у меня есть другой URL-адрес конечной точки API для целей отладки и выпуска, который я настраиваю таким образом.

Ответы [ 2 ]

0 голосов
/ 29 января 2014

Я бы добавил их в пользовательский раздел настроек сборки для этой цели.Вы можете сделать это, зайдя в Editor -> Add Build Setting -> Add User-Defined Setting, пока цель выбрана.

В общем, то, что вы сказали, но немного по-другому.

РЕДАКТИРОВАТЬ: Erm я перепроверил мой проект, и они на самом деле установлены в предварительной обработке Apple LLVM 5.0 и не определены пользователем.Например, DEBUG = 1

0 голосов
/ 07 сентября 2010

Нет! Это официальный рекомендуемый способ, и я не знаю другого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...