2014-05-22 4 views
0

전처리기를 사용하려는 응용 프로그램이 있습니다. 나는 "xcodebuild"를 사용하여 DEV 또는 PROD 일 수있는 매개 변수 APPLICATION_TYPE=을 전달합니다.Xcode 전 처리기 비교

다음 코드를 dev 또는 prod가 사용 된 코드를 기반으로 정의하고 싶습니다.

코드 : 내가 갖고있는 것 같다 문제는 상관없이 나는 "xcodebuild"에 전달할 것입니다

#if APPLICATION_TYPE == DEV 
    #define DEVELOPMENT 
#elif APPLICATION_TYPE == PROD 
#define PRODUCTION 
#endif 

항상 개발을 정의합니다

.

누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?

답변

0

비교를 원하면 숫자 값을 사용해야합니다.

APPLICATION_TYPE과 같은 것을 정의하는 대신 모든 애플리케이션 유형에 대해 매크로를 정의하는 것이 더 쉽습니다. APLICATION_IS_DEV=1APLICATION_IS_PROD=1을 사용하고 둘 중 하나 이상이 정의되어 있고 둘 다 동시에 정의되어 있지 않다고 주장하는 선행 처리기를 추가하십시오.

그러나 Xcode를 사용하면 전처리 매크로를 지정할 수있는 더 좋은 방법이 있습니다. 특수한 구성표 나 대상을 만들고 매크로간에 전환하지 마십시오. 계획이나 목표 사이를 전환하십시오.