[iOS] Swift 전처리문 #if DEBUG 사용하기
전처리문이란? 간단하게 말해서 컴파일 이전에 먼저 처리되는 문장을 의미한다.
프로그래밍을 학교에서 배울 때, 운영체제나 시스템 프로그래밍 등 리눅스에서 C언어를 사용할 때 자주 사용했었고, Swift에서도 존재.
🟠 시작하기에 앞서서, TARGET_OS_IOS 이런 방식으로 사용하는 부분은 Objective-C에서만 사용되며, Swift에서 사용시 if문에 걸리지 않아 사용할 수 없음.
✅ debug 와 Release 모드를 구분
#if DEBUG
var arr = []
#else
var arr = [1]
#endif
// or
var arr = [1,2,3,4,5,6,7,8,9,10]
#if DEBUG
.filter { $0%2 == 1 }
#else
.filter { $0%2 == 0 }
#endif
// 이렇게도 사용할 수 있음
위는 그냥 예시인데, 저런식으로도 사용 가능함
✅ OS 버전 구분
#if os(iOS)
print("iOS에서만 수행되는 코드")
#elseif os(macOS)
print("macOS에서만 수행되는 코드")
#elseif os(watchOS)
print("watchOS에서만 수행되는 코드")
#endif
우와 OS 버전도 분기할 수 있음
✅ Build Setting - Flag로 이동해서 Flag를 설정하고 전처리문으로 사용할 수 있음.
프로젝트 처음 생성하면 기본적으로 DEBUG만 들어가 있는데, Release에 내가 원하는 값을 넣어주면 전처리문을 사용할 수 있다
'Archive' 카테고리의 다른 글
[iOS] UserDefault Property Wrapper (0) | 2022.02.24 |
---|---|
[iOS] UTC to localTime 🗺 (0) | 2022.02.19 |