xcode4:根据目标生成
我的项目有两个目标:一个是应用程序,另一个是UT。我想根据目标返回一个方法的不同结果。xcode4:根据目标生成,xcode4,preprocessor,Xcode4,Preprocessor,我的项目有两个目标:一个是应用程序,另一个是UT。我想根据目标返回一个方法的不同结果。 我遵循了这一点,但失败了 我尝试了两种方法: 我使用TARGET\u NAME。我将OTHER\u CFLAGS设置为在项目设置中包含-DTARGET\u NAME=${TARGET\u NAME}。然后在代码中: 然而,TARGET\u NAME==PhotoAPI似乎总是正确的。 2.我还使用了预处理器宏,我为APP targett设置了APP,为UT设置了UT。在守则中: NSString *retu
我遵循了这一点,但失败了 我尝试了两种方法:
TARGET\u NAME
。我将OTHER\u CFLAGS
设置为在项目设置中包含-DTARGET\u NAME=${TARGET\u NAME}
。然后在代码中:TARGET\u NAME==PhotoAPI
似乎总是正确的。2.我还使用了
预处理器宏
,我为APP targett设置了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
。
我使用的是
llvmgcc4.2
有人能帮我吗?问题可能在于您定义标志的方式 这里有一个很好的文档,介绍如何仅在调试时使用它调用NSLog 它在评论中说 如果要使用GCC_预处理器_定义而不是其他_cflag,
确保使用“DEBUG=1”格式,而不是刚刚通知的“-DDEBUG=1”。我今晚会检查~
NSString *returnStr = nil;
#ifdef APP
returnStr = [NSString stringWithFormat:@"%@\'%@\');",EventFunStr,dataStr];
#elsedef UT
returnStr = [NSString stringWithFormat:@"%@", dataStr];
#else
returnStr = nil;
#endif
return returnStr;