티스토리 뷰

Xcode에서는 프로젝트를 생성할 때 기본적으로 debug와 release의 두가지 빌드 환경을 제공해줍니다. 이번 포스팅의 목표는, Rest API url, 외부 서비스의 API Key 등을 빌드 환경에 따라 동적이게 변경하는 방법을 익히는 것입니다.




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




왼쪽 navigator의 root 파일 > PROJECT > Configurations를 보면 기본적으로 Debug와 Release가 생성되어 있습니다.

여기서 Test 등의 추가적인 Configurations을 생성하실 수 있습니다.




상단에 Build Settings > + 클릭 > Add User-Defined Setting를 선택합니다.




Add User-Defined Setting을 누르고 예시로 저는 "REST_API_URL"이라는 항목을 생성하였습니다.

그리고 생성한 항목의 왼쪽 화살표를 누르면 기본적인 환경인 Debug와 Release 두 개의 칸이 존재합니다.

Debug 환경에서는 "http://debug.com"이라는 예시 주소로 요청을 하고,

Release 환경에서는 "http://release.com"이라는 예시 주소로 요청을 하도록 작성하였습니다.




다음 좌측 Navigation > Info.plist 선택 > 우측 화면에서 마우스 우클릭 > Add Row를 선택해줍니다.




Key값을 저는 "Rest api url"이라고 적어주고, Value에 "$(REST_API_URL)" 이라고 적어줍니다.

$() 안에 있는 REST_API_URL은, 위에 User-Defined Setting에서 생성한 이름과 같아야합니다. 의미는, User-Defined Setting에서 생성한 REST_API_URL의 값을 빌드 환경이 Debug일 때는 Debug의 값을 가져오고, Release 환경일 때는 Release 값을 동적이게 가져오겠다는 것 입니다.




이제 설정은 모두 끝났습니다.

그럼 이제 원하는대로 잘 작동하는지 ViewController.swift에서 Info.plist의 Rest api url 값을 조회해보도록 하겠습니다.

getRestApiUrl() 이라는 함수에서 Info.plist의 Rest api url 값을 반환해주고, 그 결과를 print하였더니 "http://debug.com" 이라는 결과가 나왔습니다.




현재 개발환경이 debug로 설정 된 것인지 확인하도록 하겠습니다.

좌측 상단에 가상머신을 선택하는 칸을 클릭하시고 Edit Scheme... 라는 녀석을 클릭해주세요.




그러면 아래와 같은 창이 뜨는데, 좌측에 Run을 눌러주시면 우측 화면에 Info에서 Build Configuration 값이 있습니다.

Build Configuration 값은 처음에 따로 추가를 하시지 않았다면, Debug와 Release가 있고, default 값은 아래와 같이 Debug로 설정되어 있을 것입니다.

Build Configuration = Debug 일 때 Rest api url = http://debug.com이라는 결과였으므로 생각한대로 환경 구성이 잘 되었습니다.




다음으로 Release일 때 Rest api url 값이 http://release.com이 나오는지 확인해보도록 하겠습니다.

아래 이미지와 같이 Build Configuration 값을 Release로 변경해주세요.




실행!! 결과는 http://release.com으로 잘 동작합니다.







참고

Setting Up Multiple Build Configurations In Your Xcode Project


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함