장소의 모든 곳을 검색 했음에도 불구하고 내 질문에 대한 답을 찾을 수 없습니다. 모두들 얼마나 좋은지 보자. :)xib의 전 처리기 지침?
나는 10.7 사자에서만 사용할 수있는 NSPopover를 사용하는 응용 프로그램을 만들고 있지만이 응용 프로그램을 10.5 이상으로 컴파일하려고합니다. 전 전 처리기 지시문을 사용하여 트릭을 수행하는 것처럼 보이는 관련 popover 코드를 래핑합니다 ... 그러나 마지막으로 오류가 발생하는 부분은 Interface Builder에서 .zib입니다. Issues Navigator에 표시된 "Class Unavailable : 10.7 이전의 Mac OS X 버전에서 NSPopover"오류를 정리하는 방법은 무엇입니까?
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
@property (assign) IBOutlet NSPopover *popover;
}
#endif
#endif
위의 내용은 xxx.h 및 xxx.m에서 작동하지만 .xib 오류는 어떻게 해결합니까?
오류 (빨간색)에도 불구하고 성공적으로 빌드됩니다. 그러나 나는 10.7의 기능 (popover)이 10.7에서 작동하기를 기대하기에 틀리다. 왜냐하면 그들이하지 않기 때문이다. 내가 무엇을 놓치고 있니?
하나는 10.7+를 타겟팅하고 다른 하나는 타겟팅 <10.7입니까? 또는 10.7 이상에서 실행되는 경우에만 런타임시 동적으로 'NSPopover'를 생성해야하는 단일 바이너리를 빌드하고 있습니까? –
간단히 말해, 10.5 - 10.7에서 실행될 단일 바이너리를 생성하고 10.7을 실행하는 경우 NSPopover를 사용하기를 바랬습니다. – glassfish
@ 글라스 피쉬 그러면 Citron의 대답은 당신이 원하는 것이 아닙니다. 선행 처리기는 컴파일 할 때 실행되며 응용 프로그램이 실행될 OS의 버전을 감지 할 수 없습니다. – hypercrypt