How do I get the App version and build number using Swift?

前端 未结 30 849
暖寄归人
暖寄归人 2020-12-22 15:21

I have an IOS app with an Azure back-end, and would like to log certain events, like logins and which versions of the app users are running.

How can I return the ver

30条回答
  •  有刺的猬
    2020-12-22 15:32

    extension UIApplication {
    
        static var appVersion: String {
            if let appVersion = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") {
                return "\(appVersion)"
            } else {
                return ""
            }
        }
    
        static var build: String {
            if let buildVersion = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey as String) {
                return "\(buildVersion)"
            } else {
                return ""
            }
        }
    
        static var versionBuild: String {
            let version = UIApplication.appVersion
            let build = UIApplication.build
    
            var versionAndBuild = "v\(version)"
    
            if version != build {
                versionAndBuild = "v\(version)(\(build))"
            }
    
            return versionAndBuild
        }
    
    }
    

    Attention: You should use if let here in case that the app version or build is not set which will lead to crash if you try to use ! to unwrap.

提交回复
热议问题