[iOS] Xcode에 빌드번호를 자동으로 증가 시키기

앱 빌드 번호(Build Number)는 앱 버전(Version)과 별도로 유용하게 사용할 방법을 발견했습니다!

가령, 앱을 개발 시에 여러 번 내부 테스트를 해야 한다면 그때마다 앱 버전을 바꾸는 것은 좋지 않겠죠.
대신, 빌드 번호를 증가시켜 배포한다면, 나중에 같은 버전이더라도 앱의 빌드 번호를 가지고 테스트의 결과를
판단하는 데 도움이 될 것입니다.

Xcode에서 빌드 번호 확인top

Xcode 에서 프로젝트의 General에서 아래처럼 빌드 번호를 확인할 수 있습니다. 물론, 빌드 번호는 프로젝트 내 info.plist 파일에서도 확인할 수 있습니다.

Xcode에서 빌드번호를 사용할 수 있다.

하지만 빌드할 때마다 매번 빌드 번호를 수동으로 고치는 것은 귀찮습니다.
그래서 자동 증가시키는 방법을 찾아봤습니다.

Xcode에 빌드 번호 자동 증가시키는 Shell Script 추가top

먼저 아래 화면처럼 프로젝트에서 “Build Phases” 탭으로 이동 후 (+) 버튼을 눌러 “New Run Script Phase”를 선택합니다.

a

그런 다음, 추가된 Run Script에 아래 코드를 추가합니다.

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

앱 빌드 번호를 자동으로 올리는 쉘 스크립트 추가

빌드 번호 자동 증가 준비가 완료되었습니다. 참 쉽죠? ^^

Xcode에서 앱 빌드 때마다 자동 증가되는 빌드 번호 확인top

Xcode에서 앱을 빌드 후 프로젝트의 General에서 증가한 빌드 번호를 확인할 수 있습니다.

빌드 시마다 빌드번호가 증분되는 것을 확인

Objective-C 코드에서는 아래처럼 빌드 번호를 출력해 볼 수 있습니다.

NSDictionary* infoDict = 
  [[NSBundle mainBundle] infoDictionary];

NSString* version = 
  [infoDict objectForKey:@"CFBundleVersion"];

NSLog("build number = %@", version);

결론top

별 것 아니지만, 앱 제작 시 설정 화면이 있다면 위 방법을 도입해서 앱 정보화면에 앱 버전과 함께 빌드 번호를 함께 노출해 봤더니 앱 개발과 테스트 시에 상당한 도움을 받았습니다.
(기획서에 아예 포함하면 좋겠죠? ^^)