Archive

[iOS] Swift 전처리문 #if DEBUG 사용하기

lgvv 2022. 2. 19. 03:12

[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