1. Version定义
版本号的格式如下:
{大版本}.{小版本}.{修bug补丁版本}
{MajorVersion}.{MinorVersion}.{Revision}
- 大版本Major version - 重要更新, 重新设计, 方法修改(新加方法、方法名修改、参数个数修改等)
- 小版本Minor version - 较小修改, 增加实现到已有方法里面
- 修bug补丁版本Revision - bug修复版本
2. Build定义
Build是用于表明App一共build了多少次.
很多开发者Build从0开始, 每次build的时候增加1, 永远增加.
比如Release 1.0.0
的 build了 542. .
Release 1.0.1 might be build 578.
Release 1.1.0 might be build 694.
Release 2.0.0 might be build 949.
3. 获取Version和Build
获取Version, Build的Swift代码
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String
4. SwiftUI实现
4.1 主要实现代码
import SwiftUI
struct ContentView: View {
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
let build = Bundle.main.infoDictionary?["CFBundleVersion"] as? String
var body: some View {
VStack {
Text("Version: \(version ?? "unknow")")
Text("Build: \(build ?? "unknow")")
}
}
}
4.2 项目Version, Build配置:
4.3 Run Script添加脚本build自动加一
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
4.4 运行效果如下
代码下载
https://github.com/zgpeace/ShowBuildAndVersion
参考
https://www.tutorialspoint.com/how-to-get-the-build-version-number-of-an-ios-app
https://stackoverflow.com/questions/6851660/version-vs-build-in-xcode