Swift-3
func getVersion() -> String {
let dictionary = Bundle.main.infoDictionary!
let version = dictionary["CFBundleShortVersionString"] as! String
let build = dictionary["CFBundleVersion"] as! String
return "v\(version).\(build)"
}
4
如果你需要 version and build num 的 combination ,这里有一个使用 Swift 3 的简短方法:
let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"]!
let buildNum = Bundle.main.infoDictionary!["CFBundleVersion"]!
let versionInfo = "\(appVersion) (build \(buildNum))"
// versionInfo is now something like "2.3.0 (build 17)"
14 回答
您可以尝试使用字典: -
阅读应用的info.plist文件,获取密钥CFBundleShortVersionString的值 . 阅读info.plist会给你一个NSDictionary对象
As I describe here,我使用脚本用我当前的Subversion版本号重写头文件 . 该修订号存储在kRevisionNumber常量中 . 然后,我可以使用类似于以下内容的方式访问版本和修订号:
这将创建格式为“Version 1.0(51)”的字符串 .
基于Brad Larson的答案,如果您在信息plist中存储了主要和次要版本信息(就像我在特定项目中所做的那样),这对我来说效果很好:
现在手动加载次要版本可能会很麻烦,因此使用源存储库修订号技巧是理想的 . 如果您没有将其绑定(因为我没有),上面的代码段可能很有用 . 它还会拉出应用程序的显示名称 .
Swift版本分别为:
斯威夫特3
斯威夫特2
它包含在这个回购中,请查看:
https://github.com/goktugyil/EZSwiftExtensions
这就是我在申请中所做的
希望这个简单的答案能帮助某人......
您可以在plist.info中指定
CFBundleShortVersionString
字符串,并使用provided API以编程方式读取该字符串 .有两件事 - 构建版本和应用程序版本 .
获取X.Y.Z格式的版本字符串的简洁方法是:
或者,对于X.Y:
这两个片段都会返回您要分配给标签对象的文本属性的字符串,例如
您可以使用infoDictionary从您应用的info.plist获取版本详细信息 . 此代码适用于swift 3.只需调用此方法并在任何首选UI元素中显示该版本 .
如果你需要 version and build num 的 combination ,这里有一个使用 Swift 3 的简短方法:
将
as! String
添加到appVersion
或buildNum
行的末尾,以仅将该部分作为String
对象 . 如果你正在寻找完整的versionInfo
,那就不需要了 .我希望这有帮助!
使用修订控制系统是一件好事 . 这样,当您收到用户的错误报告时,您可以查看该修订版的代码并(希望)重现运行与用户完全相同的代码的错误 .
这个想法是每次进行构建时,您将运行一个脚本,该脚本获取代码的当前版本号并更新项目中的文件(通常使用某种形式的令牌替换) . 然后,您可以编写一个错误处理例程,该例程始终包含错误输出中的修订号,或者您可以在“关于”页面上显示它 .
你可以试试这个方法: