두 개의 대상에 대한 응용 프로그램을 생성하는 프로젝트가 있습니다.iphone - 헤더의 컴파일러 조건부
대상 중 하나에는 다른 하나의 대리자 프로토콜이 있어야합니다. 다른 하나의 대리자 프로토콜은 다른 하나에 존재하면 안됩니다. 그래서 나는 엑스 코드에 매크로를 만들어이 같은 헤더 선언 :
#ifdef TARGET_1
@interface myViewController : UIViewController <UIScrollViewDelegate, UIPopoverControllerDelegate>
#endif
#ifdef TARGET_2
@interface myViewController : UIViewController <UIScrollViewDelegate>
#endif
{ .... bla bla.... }
문제는 엑스 코드는 @interface이 "더블"선언을 미워하고 저에게 오류가 모든 종류의를 제공하는 것을입니다. 선언 중 하나만 넣으면 오류가 사라집니다.
어떻게 해결할 수 있습니까? 어떤 도움을 주셔서 감사합니다.
TARGET_1 및 TARGET_2이 (가) 동시에 true가 아닌지 확인하십시오. – kennytm
예, 한 번에 그 중 하나만 맞습니다. – SpaceDog
이상한 것을 발견했습니다. 하나도 사용하지 않아도 대상 이름으로 채워진 모든 PREPROCESSOR MACROS (릴리스, 배포 및 디버그)가 있어야합니다. 제 경우에는 "release"를 사용하지 않고 전 처리기 매크로 필드가 비어 있습니다. – SpaceDog