Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift 코드로 iOS 앱의 현재 버전과 빌드 번호 가져오는 방법

iOS 애플리케이션을 처음 생성하면 기본적으로 버전 1.0, 빌드 0이 설정됩니다. App Store에 새로운 빌드를 업로드할 때마다 버전 번호를 변경해야 하며, 테스트용 빌드를 배포할 때는 빌드 번호를 갱신하면 됩니다. 이러한 버전과 빌드 번호는 프로젝트 내 Info.plist 파일에 저장되어 있습니다.

앱에서 버전·빌드 번호가 필요한 이유

앱을 개발하다 보면 사용자에게 현재 설치된 앱의 버전을 표시하거나, 특정 버전 이상일 때만 새로운 기능을 활성화하는 등 커스텀 로직을 위해 버전 또는 빌드 번호에 접근해야 하는 경우가 종종 발생합니다.

버전 번호(Version) 가져오기

앱의 마케팅 버전(CFBundleShortVersionString)은 아래 코드를 통해 문자열로 가져올 수 있으며, 변수나 상수에 바로 할당할 수 있습니다.

Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String

빌드 번호(Build) 가져오기

빌드 번호(kCFBundleVersionKey)는 다음 코드로 조회할 수 있습니다.

Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as! String

viewDidLoad에서 실제로 사용해 보기

아래 예제처럼 뷰 컨트롤러의 viewDidLoad 메서드에서 두 값을 읽어와 출력해 볼 수 있습니다.

override func viewDidLoad() {
   super.viewDidLoad()
   let currentVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
   let currentBuild = Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as! String
   print(currentVersion, ".", currentBuild)
}

위 코드를 실행하면 콘솔에 버전 번호 뒤에 마침표(.)가 붙고 그다음 빌드 번호가 이어서 출력됩니다. 예를 들어 버전이 1.2이고 빌드가 5라면 1.2 . 5 형태로 확인할 수 있습니다.

참고 사항

as! 강제 언래핑은 해당 키가 Info.plist에 반드시 존재한다고 확신할 때만 안전합니다. 더 견고한 코드를 원한다면 옵셔널 바인딩(as? String)과 함께 기본값을 지정하는 방식을 권장합니다. 또한 Xcode 13 이상에서는 BUILD_SETTING_DESTINATION 대신 타깃의 General 탭에서 Version과 Build 값을 손쉽게 관리할 수 있습니다.