Custom XCode Configuration Flag 추가하여 디버그 프로세스 최적화

XCode Configuration

  • XCode Configurations는 다양한 상황의 빌드 옵션들을 추가할 수 있는 설정
  • 특정 목적 또는 환경에 맞도록 프로젝트를 커스터마이징이 가능
  • 기본적으로는 Debug, Release 속성 두 개가 존재
  • 이외에도 커스텀 Configuation을 추가하여 사용자 정의 빌드 구성을 따로 추가할 수 있음 (오늘의 내용)

 

Custom Configuation 추가하기

  • 위 사진은 Debug일 때의 사진
  • Debug일 때는 실제 서버에서 가져오는 데이터가 아닌, Mock JSON을 통해 데이터를 가져옴
  • Release는 실제 서버에서 데이터를 가져오지만, Log를 출력하지 않음
  • 결론적으로 실제 서버에서 데이터를 가져오고, Log도 출력하는 Configuration이 필요

  • 기존 Debug, Release이외의 Staging이라는 Custom Configuration 정의
  • Configuration은 기존 Debug를 복사하거나 +버튼을 눌러서 쉽게 추가 가능

 

Custom Flag 추가

  • 위 사진 같이 Staging Configuation을 이용하여 Flag를 사용하여 원하는 디버그 프로세스를 구현해야함
  • 하지만 위에 사진처럼 Flag 코드가 작동하기 위해서는 추가적인 작업이 필요

  • Build Settings에 있는 Custom Flags에 있는 값을 수정
  • Active Compliation Conditions에는 새로운 Configuation의 값을 원하는 값으로 변경
  • Other Swift Flags를 "-D Flag 이름" 으로 변경

 

실제 사용 방법

  • 위는 URLSession의 Configuation을 정의하는 코드 구현
  • Debug는 Mock JSON을 가져오고, 정의한 Staging과 Release는 서버 데이터를 가져오고 있음
  • 앞선 데이터와 달리 1600개가 넘는 서버 데이터가 넘어오는 것을 알 수 있음

 

 

Reference