swift代码中的产品版本号

Pet*_*haw 2 xcode build swift

有没有办法在swift代码中获取产品版本号,比如

println("Running version \($PRODUCT_VERSION)")
Run Code Online (Sandbox Code Playgroud)

我必须定义一些standartUserDefaults,它们绑定到Version和build number,我不喜欢在构建时将它们放入我的代码中.

NSProcessInfo没有内部版本号.对我有什么建议吗?

Nis*_*ish 7

斯威夫特 4.2

let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as? String
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String
let buildString = "Version: \(appVersion ?? "").\(build ?? "")"
Run Code Online (Sandbox Code Playgroud)


Mak*_* BK 7

在 Swift 5.3 中:

extension UIApplication {

 static var appVersion: String? {
    return Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
 }

}
Run Code Online (Sandbox Code Playgroud)

用法:

UIApplication.appVersion!
Run Code Online (Sandbox Code Playgroud)


ico*_*ign 5

您可以Info.plist通过以下方式获取此类信息:

let version = NSBundle.mainBundle().infoDictionary?[kCFBundleVersionKey]
let build = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"]
println(version)  // product version
println(build)   //product build
Run Code Online (Sandbox Code Playgroud)