본문 바로가기

옛글/아이폰 프로그래밍

XCode iOS MAC 구별하는 전처리문

반응형

 

타겟을 2개 이상 놓고 iOS(iPhone, iPad) 및 MAC 둘다 지원하는 원소스를 구현하기 위해서는 서로 간에 맞지 않는 프레임워크를 사용하기 떄문에 (이를테면 UIKit이나, UI 관련 된 iOS 프레임워크에 포함되어 있는 소스를 맥북 타겟으로 실행시키면 에러처리를 내버린다) 이를 위해서 전처리문을 통해 맥과 iOS를 구분하는 전처리문을 사용해보자. 


*(전처리문은 이전 글에 설명이 되어 있습니다.)
아래와 같은 코드를 사용하면, 컴파일하기 전 처리를 하게 되는 전처리문에서 다음 타겟이 맥인지 iOS인지를 구분해서 


#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED

//iOS용 코드


#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED)

//맥용 코드


#endif


로 처리하게 된다. 위와 같은 방법 이외에도 다양한 방법이 있긴 하다. 

반응형