Xcode Project 버전 관리

Xcode 프로젝트는 일반적으로 사용자들이 인식하는 버전과 빌드 두가지가 존재한다. 여기서 버전은 유의적 버전 표기법으로 표현 가능하고 빌드는 단순하게 증가하는 정수 값이다.

테스트 플라이트에서 인식하는 버전은 유의적 버전과 빌드는 상호 의존적이다.

0.1.0 버전의 1번 빌드와 0.2.0 버전의 1번 빌드는 독립적인 바이너리로 판단한다.

Xcode는 타겟의 버전을 Info.plist 또는 Build Settings에 기록하는데 버전을 변경할 때마다 개발자가 직접 관리하면 타겟 별로 버전 관리를 잊을 수 있으므로 버전을 관리하는 도구를 애플에서 제공하고 있다.

터미널에서 버전을 지정할 프로젝트의 경로로 이동한다음 해당 프로젝트의 모든 타겟의 빌드 번호를 변경하기 위해서는 다음 명령어를 실행한다.

$ agvtool new-version -all 1

모든 타겟의 버전을 변경하기 위해서는 다음 명령어를 실행하면된다.

$ agvtool new-marketing-version 0.1.0

업데이트 마다 버전 변경을 개발자가 직접하지 않고 도구를 사용하여 버전 기록이 유실되는 실수를 하지 않는 버릇을 들이는게 중요하다.

CI / CD 환경에서 빌드 번호 자동 증가와 같은 자동화를 할 때 사용하면 좋은 도구이기도 하다.