Best practices
다양한 팀 및 프로젝트와의 수년간 협업 경험을 바탕으로, Tuist와 Xcode 프로젝트를 다룰 때 권장하는 모범 사례들을 정리했습니다. 이러한 모범 사례들은 필수 사항은 아니지만, 프로젝트를 보다 유지보수하기 쉽고 확장 가능한 방식으로 구조화하는데 도움이 될 수 있습니다.
Xcode
권장하지 않는 패턴
원격 환경을 모델링하기 위한 설정
많은 조직이 다양한 원격 환경을 모델링하기 위해 빌드 설정을 사용합니다 (예: Debug-Production
or Release-Canary
). 하지만 이 접근 방식에는 몇 가지 단점이 있습니다:
- 불일치: 그래프 전반에 걸쳐 설정이 일관되지 않으면, 빌드 시스템이 일부 타겟에 대해 잘못된 설정을 사용할 수 있습니다.
- 복잡성: 프로젝트의 로컬 설정과 원격 환경 설정들이 많아질수록 이해하고 관리하기 어려워질 수 있습니다.
다양한 환경을 모델링해야 할 때는 스킴(Scheme)을 사용하여 해결할 수 있습니다. 다양한 환경을 모델링해야 할 때는 스킴(Scheme)을 사용하여 해결할 수 있습니다.
스킴 환경 변수를 설정하세요:
REMOTE_ENV=production
.환경 정보를 사용할 번들의
Info.plist
에 새로운 키를 추가하세요 (예: 앱 번들):REMOTE_ENV=${REMOTE_ENV}
.이 후 런타임에 해당 값을 읽을 수 있습니다:
swiftlet remoteEnvString = Bundle.main.object(forInfoDictionaryKey: "REMOTE_ENV") as? String
위와 같은 방식을 사용하면 설정 목록을 간단하게 유지하면서 앞서 언급한 단점들을 방지할 수 있고, 개발자들이 스킴(Scheme)을 통해 원격 환경과 같은 요소를 자유롭게 설정할 수 있습니다.