2011-09-08 2 views
0

내 프로젝트에 두 개의 대상이 있습니다. 하나는 응용 프로그램이고 다른 하나는 UT입니다. 목표에 따라 한 가지 방법에 대해 다른 결과를 반환하고 싶습니다.
나는이 link을 따라 갔으나 실패했습니다. xcode4 : 대상에 따라 빌드

는 둘 다 시도 :

  1. 내가 TARGET_NAME를 사용합니다. 프로젝트 설정에서 을 -DTARGET_NAME=${TARGET_NAME}으로 설정했습니다. 그리고 코드에서 : 그것은 TARGET_NAME == PhotoAPI 보인다 그러나

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

은 항상 사실이다.
2. 또한 Preprocessor Macros을 사용하고 앱 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을 사용합니다.

아무도 도와 줄 수 있습니까?

답변

0

문제는 내가 당신이 당신이 사용하고자하는 경우에만 댓글 말했다 DEBUG

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

에 NSLog를 호출을 사용하여 heres는 플래그 좋은 문서를 정의하는 방법이 될 수있다 OTHER_CFLAGS 대신 대신 GCC_PREPROCESSOR_DEFINITIONS "-DDEBUG = 1"대신 "DEBUG = 1"형식을 사용하십시오.

+0

방금 ​​알림! 오늘 밤 확인해 볼께 ~ – scorpiozj

관련 문제