xcode4: сборка в зависимости от цели - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть две цели для моего проекта: одна - приложение, а другая - UT. Я хочу вернуть разные результаты для одного метода в зависимости от цели.Я перешел по этой ссылке , но не смог.

Я попробовал оба:

  1. Я использую TARGET_NAME.Я установил OTHER_CFLAGS, чтобы он содержал -DTARGET_NAME=${TARGET_NAME} в настройках проекта.И тогда в коде:

NSString *returnStr = nil;
#if TARGET_NAME == PhotoAPI
    returnStr = [NSString stringWithFormat:@"%@\'%@\');",EventFunStr,dataStr];
#elif TARGET_NAME == LogicTest
    returnStr = [NSString stringWithFormat:@"%@", dataStr];
#endif
return returnStr;

Однако кажется, что TARGET_NAME == PhotoAPI всегда верно.
2. Я также использую Preprocessor Macros, и я устанавливаю APP для targtet App и UT для UT,И в коде:


NSString *returnStr = nil;
#ifdef APP
    returnStr = [NSString stringWithFormat:@"%@\'%@\');",EventFunStr,dataStr];
#elsedef UT
    returnStr = [NSString stringWithFormat:@"%@", dataStr];
#else
    returnStr = nil;
#endif
return returnStr;

И всегда возвращаем nil.
Я использую LLVM GCC 4.2.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 12 октября 2011

Проблема может быть в том, как вы определяете флаги, вот хороший документ об использовании его для вызова NSLog только в DEBUG

http://iphoneincubator.com/blog/debugging/how-to-create-conditional-log-statements-in-xcode

, это сказано в комментариях.собираясь использовать GCC_PREPROCESSOR_DEFINITIONS вместо OTHER_CFLAGS, обязательно используйте форму «DEBUG = 1 ″ вместо« -DDEBUG = 1 ″

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