-
[포케덱스] - Configuration 관리프로젝트/포케덱스 2024. 5. 1. 15:58728x90반응형
오늘은 Xcode의 Configuration파일인 .xcconfig 생성 및 관리에 대해서 포스팅 하겠다.
먼저 Configuration이 뭐냐
xcode 프로젝트의 설정을 외부 파일로 분리하여 관리하는데 사용되는 파일이다.
보통 프로젝트 빌드를 설정하거나, 환경변수 등을 텍스트형태로 기입하여 관리할 수 있다.
그럼 이걸 쓰면 뭐가 좋냐면
1. 프로젝트 설정 동기화
여러 프로젝트가 같은 라이브러리 경로, 컴파일러 플래그 또는 빌드 설정을 공유해야할 때 이 .xcconfig 파일을 사용하여 일관성있게 관리할 수 있다.
2. 보안 정보 분리
API키 및 비밀번호, 혹으니 서버 URL등 민감한 정보를 분리하여 관리할 수 있다.
여러가지 방법이 있겠지만 오늘 포스팅은 2번내용을 가지고 활용해보겠다.

먼저 Configuration 파일을 찾아서 생성해준다. 이름은 Config로 하겠다.

그럼 이런 파일이 생성되는데 여기에 본인이 분리하여 관리할 내용과 플래그를 만들어 둔다.
난 로컬 url을 숨기고 싶으니 LOCAL_URL이라는 플래그를 생성하겠다.

그리고 각자 가지고 있는 Plist에 해당 내용을 추가해주고

Project > Build Setting > All & Combined > User-Defined에 새로 내용을 추가해준다. 추가는 Basic 옆에 + 버튼을 눌러 추가한다.
이는 아까 만든 플래그를 환경변수로 사용하기 위함이다.
설정은 끝났고 이제 그럼 이걸 코드에서 어떻게 사용하냐
let url = "http://\(Bundle.main.infoDictionary?["LOCAL_URL"] ?? "")/pokemon"그냥 이렇게 텍스트처럼 사용하면 된다. 아주 쉬운 부분
그리고 이렇게 Configuration 생성해놨으면 .gitignore에 꼭 추가해 놓자.
민감한 정보라 이리 고생했는데,, 깃에 올리면 무슨 소용이있나..
'프로젝트 > 포케덱스' 카테고리의 다른 글
[포케덱스] - 오픈소스 기여 관련 회고 (0) 2025.07.14 [포케덱스] - iOS앱 Google AdMobs 광고 추가하는 방법 (1) 2024.06.04 [포케덱스] - Error: sessionTaskFailed (1) 2024.05.01 [올포원] - 4,5번째 리젝 그리고 배포 성공 (4.2&4.2.3 - Design - Minimum Functionality, 2.3.7 - Performance - Accurate Metadata) (1) 2023.07.07 [올포원] - 3번째 리젝 (2.1.0 Performance: App Completeness) (0) 2023.06.26