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라는 이름의 앱이 생성된걸 볼 수 있습니다!
'iOS' 카테고리의 다른 글
[iOS] Library를 CocoaPods에 배포하는 방법 (0) | 2019.08.27 |
---|---|
[iOS] Image Rendering Mode (0) | 2019.08.01 |
[iOS] Cell Life Cycle (1) | 2019.07.30 |
[iOS] 코드사이닝, 인증서, 프로비저닝 프로파일이란? (1) | 2019.07.25 |
[iOS] 파일시스템(File System) (0) | 2019.07.25 |