Xcode 4: определение макроса препроцессора в зависимой цели

У меня есть приложение с именем MyApp , которое связано со статической библиотекой MyLibrary Я добавил проект MyLibrary в Xcode и добавил целевой объект MyLibrary в целевые зависимости MyApp . Все это работает нормально, я могу устанавливать точки останова, и я очень доволен.

Дело в том, что мне нужен условный журнал в библиотеке:

#ifdef DEBUG
#   define  MYDebug(msg, ...) NSLog(@"\nDEBUG -> %@ \n(%s:%d)",[NSString stringWithFormat:msg, ## __VA_ARGS__], __PRETTY_FUNCTION__,__LINE__);
#else
#   define MYDebug(msg, ...)
#endif

Итак, у меня есть две конфигурации сборки для моей библиотеки: - Отладка имеет "DEBUG = 1" в настройках целевой сборки в "макросах препроцессора" - Prod не имеет ничего

И цель MyLibrary настроена на сборку с конфигурацией сборки отладки.

Это отлично работает, если я создаю статическую библиотеку (.a), и включить его в проект. Но если он построен по целевой зависимости, кажется, что DEBUG не определен (MYDebug ничего не регистрирует).

Я также пытался установить DEBUG = 1 в настройках сборки MyApp , но это не работает.

Есть ли что-то, что я пропустил, или есть другой способ сделать это?

6
задан Brian Tompsett - 汤莱恩 13 July 2016 в 18:50
поделиться