Проверка того, какая цель выполняется

#objective-c #xcode #target

#objective-c #xcode #цель

Вопрос:

Итак, у меня есть 2 цели: 1 — это мое приложение, а другая — для модульных тестов.

В моем коде мне нужно знать, какая цель выполняется, чтобы пропустить блок кода if во время выполнения модульных тестов. Возможно ли это?

 #ifdef "Some how figure out what target we are in"
// run this code if we are not running the unit test target
#endif
  

Ответ №1:

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

 #ifndef TARGET_IS_UNIT_TESTING
// run this code if we are not running the unit test target
#endif

#ifdef TARGET_IS_UNIT_TESTING
// run this code if we are running the unit test target
#endif
  

Комментарии:

1. Мне нужна дополнительная информация, пожалуйста, предоставленная ссылка объясняет, как это сделать в настройках GCC, а в моих настройках сборки нет раздела для GCC