본문 바로가기

Programming/iOS

iOS Framework에서 전처리문(#ifdef) 등록하기

반응형

iOS Framework 제작 시 전처리문(Preprocessor)을 통해서 빌드시점에 다른 결과를 내고 싶을때가 있습니다.

대표적인 것이 #if DEBUG 입니다.

#if DEBUG
print("is debug mode")
#else
print("release mode")
#endif

디버그 모드는 Xcode 생성 시 전처리문에 이미 등록돼 있기 때문에 별다른 처리 없이도 바로 사용가능합니다.

그렇다면 별도의 전처리문을 등록하고 싶을때는 어떻게 처리해야야 할까요

아래와 같은 방법을 통해 설정 할 수 있습니다.

Framework를 생성

Build Settings로 이동

Preprocessor Macros > 전처리문 입력

여기서는 MY_FLAG라는 이름으로 등록했습니다.

만약 DEBUG모드에서만 필요하면 DEBUG에만 추가, 만약 Release모드에서도 필요하면 양쪽에 모두 등록합니다.

Active Compilation Conditions > 전처리문 등록

Preprocessor Macros에서 등록한 전처리문을 동일하게 등록합니다.

코드상에서 전처리문 처리

모든 준비과정을 끝났습니다. 코드로 이동해서 추가하시면 됩니다.

ex)

#if MY_FLAG
print("MY_FLAG is enabled")
#else
print("MY_FLAG is disabled")
#endif

이제 특정 전처리문을 통해 조건을 다르게 설정 할 수 있습니다.

반응형