2016-10-26 4 views
0

세 개의 타겟이 있습니다. TargetA, TargetB 및 TargetC를 가정 해 보겠습니다. 대상> 대상 이름> 빌드 설정> Apple LLVM 7.1 - 사용자 정의 컴파일러 플래그> 기타 C 플래그> 디버그 & 릴리스에 각 대상에 다른 컴파일러 지시문을 넣었습니다.왜 컴파일러 지시문 정의가 인식되지 않습니까? (스위프트)

enter image description here

나는 TargetC에 TargetA, TargetB에 -dTargetB, -dTargetC-dTargetA을 넣어. 그리고 내가 AppDelegate에의 didFinishLaunchingWithOptions에이 코드가 있습니다

#if TargetA 
    print ("TargetA"); 
    #else 
    #if TargetB 
     print ("TargetB"); 
     #else 
      #if TargetC 
      print ("TargetC"); 
      #else 
      print ("Not Recognised"); 
     #endif 
    #endif 
#endif 

을하지만 그것을 실행했을 때, 나는 모든 대상에서 실행해도 출력 콘솔의 "인식되지 않음"을 참조하십시오. 뭐가 문제 야? 감사.

답변

0

오해하지 마세요. 내가 잘못된 장소에 넣었다. C 또는 C++ 플래그 대신 Swift 사용자 지정 컴파일러 플래그에 넣어야합니다. 하지만 많은 답변이 C 컴파일러 플래그를 넣으라고했습니다 ...