2010-03-12 5 views
0

두 질문 :아이폰 - 컴파일러 조건문

이 코드

#ifdef __IPHONE_3_0 
    // iPhone 3.0 specific stuff 
#else 
    // iPhone 2.2 specific stuff 
#endif 

아이폰의 특정 버전에 대한 특정 코드를 컴파일합니다. 다양한 장치에 대해 어떻게 컴파일 할 수 있습니까? 예를 들면 : iphone 버전 < 3.1 또는 버전이 3.2 이상이면 ...

2) Xcode에서 허용하는 모든 조건의 목록은 어디에서 입수 할 수 있습니까?

도움을 주셔서 감사합니다.

답변

1

해당 정의는 사용중인 SDK에있는 Availability.h에 있습니다. 예를 들어, 참고로

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include/Availability.h 

에서 3.0 시뮬레이터 버전을 찾을 수 있습니다, 그것은 팝업에서 마우스 오른쪽 버튼을 클릭하고, 선택 "정의에 점프"를 강조 __IPHONE_3_0 같은 상수를 찾기 위해 쉽게 - 업 메뉴.

Availability.h에서 헤더 자체는 다양한 버전을 선택적으로 컴파일하는 방법을 자세하게 설명합니다. 아이폰 OS 버전이 3.0보다 큰 경우에만 예를 들어, 당신이하지 선택적으로 어떤 버전을 기반으로 코드를 가능하게하기 위해, 컴파일 시간에 포함하는 어떤 결정이 있음을

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_0 
// Your code here 
#endif 

주를 사용할 수있는 코드를 컴파일 응용 프로그램이 실행되고있는 OS

+0

고맙습니다! 너는 남자 야! – SpaceDog