[iOS] Build Configuration 설정 방법

728x90
반응형

 

 

Build Configuration은 코드 수정없이 각 서버 및 조건 별로 배포가능하도록 환경설정 방법입니다.

천천히 순서대로 진행해보도록 하겠습니다.

 

 

먼저 프로젝트를 생성 합니다.

아래 튜토리얼 프로젝트 이름은 ConfigurationPractice라고 생성했습니다.

 

 

1. Configuration 생성

  • Project -> Info

  •  +   선택 후 원하는 항목 duplicate

  • Beta라는 이름으로 생성

 

2. Scheme 추가

  • 추가 후 Manage Schemes를 선택하면

아래와 같은 화면이 나타나고, 현재 프로젝트명만 보입니다.

왼쪽 하단에 있는  +  을 선택하고 이름을 넣어줍니다.

저는 ConfigurationPractice-Beta라는 이름으로 생성했습니다.

 

 

ConfigurationPractice-Beta이름으로 스키마가 추가된것이 보입니다.

 

 

3. Bundle Identifier 설정

스키마 추가를 했으면 각각의 스키마에 맞게 bundle Identifier를 설정해줘야됨.

 

  • Target -> Build Settings -> Packaging에 Product Bundle Identifier

위의 사진처럼 각각의 스키마에 대한 bundle Identifier가 똑같은 것이 보입니다.

즉, 어떤 스키마를 들어가서 앱을 실행하더라도 Debug로 실행될 것이다.

 

왜 Debug로 실행되나?

아래 두 사진과 같이 Edit Scheme → 왼쪽 Run보시면 Build Configuration에 Debug로 되어있기 때문!

 

 

 

그렇기 때문에!

방금 만든 Beta의 Bundle Identifier를 바꿔줍니다.

이름은 임의로 지정해도 됩니다. 저는 .beta를 추가해줬습니다.

 

ConfigurationPractice-Beta로 이동후 → Edit Scheme → Build Configuration에 이름(.beta)을 바꾸어 놓으면

Build가 Beta로 진행되는걸 볼 수 있습니다!!!!!!!!!!!!!

 

 

실행해보면 두가지 번들 아이디가 다르기 때문에 같은 이름으로 앱이 두개가 생기는걸 볼 수 있죠!

즉, 조건에 따른 다른 환경의 앱입니다!

 

 

으로 이름이 똑같아서 구분이 안되는데 구분지어 보자면

Build Setting에 Bundle Identifier를 설정해준 곳 밑에 보면

Product Name에서 스키마명에 맞게 알아서 이름이 구분지어 줍니다.

저는 Beta는 Beta, Debug는 Debug, Release는 Release라고 임의로 이름을 지어주었습니다.

 

근데 잠깐!

또 이것들은 어디서 자동으로 연결이될까요?

info.plist에 가보면 Bundle identifier Bundle Name이 존재하는것이 보이는데

$(이름) 형태로 Setting과 연결되어져 있어서 자동으로 변경되는 것을 볼 수 있다.

 

 

 

저희가 만든 Beta환경으로 실행해 보면 Beta라는 이름의 앱이 생성된걸 볼 수 있습니다!

반응형