반응형

[iOS/Swift] 앱 버전 / 빌드 버전 구하기

안녕하세요. 개발하는 정주입니다.

 

오늘은 앱의 버전과 빌드 버전을 구하는 방법에 대해 포스팅하려고 합니다.

앱 버전과 빌드 버전의 차이점은 이전 포스팅을 참고해 주세요.

 

바로 시작합니다.

 


앱 버전과 빌드버전 보기

앱 버전과 빌드 버전은 프로젝트 파일에서 확인할 수 있습니다.

프로젝트 파일의 General > Identity를 보면 앱 버전은 Version으로, 빌드 버전은 Build로 표시되어 있습니다.

이것을 코드로 구하는 방법은 뭘까요?

 


앱 버전 구하는 코드


      
if let value = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
print(value)
}

info 정보를 가져오는 코드입니다. 그중에서 앱 버전은 CFBundleShortVersionString 값을 가져오면 됩니다.

 


앱 빌드 버전 구하는 코드


      
if let value = Bundle.main.infoDictionary?["CFBundleVersion"] as? String {
return value
}

비슷한 코드이나 앱 빌드 버전은 CFBundleVersion을 가져오면 됩니다.

 


 

Build 상속하여 사용하기

앱 정보와 빌드 정보를 여러 곳에서 구해야 한다면 위 코드를 매번 넣어주는 것보다 좋은 방법이 있습니다.

바로 Bundle을 상속하는 방법입니다.

 

상속 코드


      
import Foundation
extension Bundle {
// 앱 버전
class var appVersion: String {
if let value = self.main.infoDictionary?["CFBundleShortVersionString"] as? String {
return value
}
return ""
}
// 앱 빌드 버전
class var appBuildVersion: String {
if let value = self.main.infoDictionary?["CFBundleVersion"] as? String {
return value
}
return ""
}
}

 

참조 코드


      
print("Version: \(Bundle.appVersion) / Build Version: \(Bundle.appBuildVersion)")

앱 버전은 Bundle.appVersion으로, 빌드 버전은 Bundle.appBuildVersion으로 구하면 됩니다.


마무리 잡담

오늘은 앱 버전과 앱 빌드 버전을 구해봤습니다.

대부분의 앱에서 버전을 표시하는 만큼 기억해둬야할 정보 중 하나라고 생각합니다.

 

감사합니다!

 


아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

공감 댓글 부탁드립니다.

반응형
유정주