2011-09-08 82 views
0

我的项目有两个目标:一个是应用程序,另一个是UT.I'd想根据目标返回不同的结果。
我跟着这link但失败。xcode4:根据目标构建

我都尝试:

  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,为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

任何人都可以帮助我吗?

回答