본문 바로가기

IOS Swift

빌드 환경에 따라 분기처리하기(feat: xcconfig)

목차

  1. xcconfig란?
  2. xcconfig 사용법

 

Dev용 앱 Target, Release용 Target, Staging용 Target, QA용 Target

4개의 타겟이 있다면..

info.plist 변경할 때마다 4개를 바꿔줘야 하나..? 

다른 방법이 없을까..?


xcconfig 파일을 이용하면 타겟을 여러 개 만들지 않고도 빌드 구성을 다르게 할 수 있습니다.

또한 빌드 환경 구성 시 필요한 값들을 프로젝트 외부에 저장할 수도 있고 관리도 쉽게 할 수 있습니다 :D

 

XCConfig란?

XCConfig(Xcode Configuration File)

Apple의 Xcode 개발 환경에서 사용되는 일종의 텍스트 파일입니다.
프로젝트나 타겟 파일 외부에 빌드 설정 및 구성을 저장하는 데 사용됩니다. 이를 통해 빌드 구성을 더 효율적으로 관리하고 공유할 수 있습니다.

 

 

XCconfig 사용법

  1. xcconfig 파일 생성
  2. Configurations 설정
  3. 빌드 구성할 때 변수로 사용될 값 설정
  4. 테스트

1. xcconfig 파일 생성

파일 생성
Configuration Setting File 선택
파일명 설정
생성 완료

Release도 같이 만들었습니다. ㅎㅎ

 

2. Configurations 설정

설정 완료

 

 

3. 빌드 구성할 때 변수로 사용될 값 설정

  1. xcconfig 파일 변수 추가
  2. info.plist 변수 추가

 

xcconfig 파일에 변수 추가

// 는 주석으로 처리되기 때문에 /$()/ 로 입력해야 합니다!

 

info.plist 변수 추가

 

 

4. 테스트

스킴 생성

Release의 BASE_URL을 테스트하기 위해 스킴을 하나 만들겠습니다.

 

스킴을 생성 후 Release용으로 사용하기 위해 설정을 바꿔주겠습니다.

 

Run 빌드 구성을 Release로 변경

 

 

변경 완료했으면 테스트 각각 스킴을 Run 해서 테스트 해봅시다!!

 

XCConfigStudy

 

Release-XCConfigStudy

각 빌드 구성에 따라 값을 다르게 가져오네요. 굿!!

 

+ 추가로

이렇게만 설정하고 Run 하게 되면 시뮬레이터에 Dev앱과 Release앱 두 개가 만들어지는 게 아닌 하나의 앱에 덧씌워지는 형태로 됩니다.

앱 두 개로 만들기 위해서는 Bundle Identifier를 Debug용과 Release용 서로 다르게 변경해 주시면 됩니다.

오른쪽 앱 이름 잘렸는데 뒤에 -Dev 붙어있습니다! Dev를 앞에 적는게 좋겠군요.

 

 

정리

  1. 빌드 구성을 xcconfig 파일로 관리하여 외부에 보관할 수도 있고 관리하기 쉽다(변경이나 공유).
  2. Dubeg와 Release의 Bundle Identifier를 다르게 해 주면 앱 두 개가 만들어진다. 
반응형