Xcode中的Version和Build的区别

本文详细解释了iOS应用中Version和Build的区别与联系,Version通常用于面向用户的版本标识,而Build则是内部迭代使用的版本号。文章还介绍了如何通过Objective-C和Swift代码获取这两个版本号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Version( 应用程序发布版本号 )

Version对应的是CFBundleShortVersionString

Version 一般由产品部门确定,版本号是由分隔的整数组成的字符串,一般有2段或者3段式, 如:1.2,  1.2.3

二段式:

第一个段:(主版本号)大功能的新增或者有迥异的变化

第二个段:(副版本号)既包含小功能更新也会包含 bug 修复

三段式:

第一个段:重大修改的版本,如实现新的大功能或重大变化的修订。

第二个段:实现较突出的特点,如新功能添加和大问题修复。

第三个段:代表维护版本,修复bug。

版本号的管理是一个谨慎的事情,希望各位开发者了解其中的意义。

Build( 应用程序内部标示 )

Bulid 是给内部使用,与 Version 不会有太大联系.

Bulid对应的是CFBundleVersion。标识(发布或未发布)的内部版本号。用以记录开发版本的,每次更新的时候都需要比上一次高。

作用:发布build版本供测试团队进行测试。
 
 
代码获取Build和Version
 
Object-C
NSDictionary *info= [[NSBundle mainBundle] infoDictionary];

info[@"CFBundleShortVersionString"]; //Version
info[@"CFBundleVersion"]; //Build

Swift

let info:NSDictionary! = NSBundle.mainBundle().infoDictionary
let version = info["CFBundleShortVersionString"];
let build = info["CFBundleVersion"];
print("version = \(version),build = \(build)")

 

参考文档:

https://segmentfault.com/a/1190000002423661

http://www.jianshu.com/p/f9c18bd0fda2

转载于:https://www.cnblogs.com/huahua0809/p/5283538.html

<think>嗯,用户问的是如何在Xcode中配置版本。首先,我需要回忆一下Xcode中版本管理的基本流程。通常,版本配置主要涉及两个地方:项目的Info标签Build Settings里的Versioning部分。 第一步,应该打开Xcode项目,找到项目导航器中的项目文件,点击后在右侧的Info标签里,会有VersionBuild两个字段。Version通常对应的是发布的版本号,比如1.0.0,而Build是每次构建的递增数字,比如1、2、3等等。用户需要在这里手动输入版本号。 接下来,用户可能需要自动化版本号的生成,比如每次构建时自动递增Build号。这时候需要进入Build Settings,搜索“Versioning”,找到Current Project VersionVersioning System。这里可能需要设置Versioning System为Apple Generic,然后在脚本中自动更新Build号。不过具体怎么操作呢?比如添加一个运行脚本阶段,使用agvtool命令来递增Build号。可能需要详细说明步骤,比如在Build Phases中添加Run Script,然后输入相关的shell命令。 另外,用户可能还想了解如何通过配置文件或者环境变量来管理版本号,比如在CI/CD环境中自动设置版本。这时候可能需要使用xcodebuild命令,在构建时传入版本参数。但不确定用户是否需要这部分内容,可能先不深入,除非用户进一步询问。 还要注意区分版本号(Marketing Version构建号(Build Version)。版本号通常是用户可见的,而构建号更多是内部跟踪使用。确保用户理解两者的区别,避免混淆。 最后,是否需要提到通过Info.plist文件直接修改版本号?虽然可行,但通常推荐通过项目设置来修改,因为直接编辑plist文件可能会被项目设置覆盖。所以建议用户还是通过Xcode的界面操作更稳妥。 总结下来,步骤应该是:1. 手动设置VersionBuild号;2. 自动递增Build号的配置;3. 版本号的管理策略。需要一步步引导用户操作,确保每个步骤清晰,并指出可能需要注意的地方,比如使用agvtool需要开启版本化系统,或者权限问题导致脚本执行失败等。</think>在Xcode中配置项目版本号需要操作以下步骤,分为手动配置自动递增两种方式: --- ### 一、手动配置版本号 1. **打开项目设置** 在Xcode左侧导航栏中,点击项目名称 -> 选择 **Target** -> 进入 **Info** 标签页。 2. **设置版本号** - **Version (CFBundleShortVersionString)** 用户可见的正式版本号,格式为 `主版本.次版本.修订号`(如 `1.0.0`)。 - **Build (CFBundleVersion)** 内部构建版本号,通常用递增数字表示(如 `123`)。 ```plaintext Identity and Version ├── Version: 1.0.0 └── Build: 1 ``` --- ### 二、自动递增构建版本号(推荐) 1. **启用版本化系统** 进入 **Build Settings** -> 搜索 `Versioning` -> 设置以下选项: - **Current Project Version**: 填入初始(如 `1`) - **Versioning System**: 选择 `Apple Generic` 2. **添加自动递增脚本** - 进入 **Build Phases** -> 点击 **+** -> 选择 **New Run Script Phase** - 将以下脚本粘贴到脚本编辑区: ```bash # 自动递增 BuildbuildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE" ``` --- ### 三、通过命令行配置 若需在CI/CD中动态设置版本号,可使用 `xcodebuild` 命令: ```bash # 设置 Version xcodebuild -project YourProject.xcodeproj -target YourTarget -configuration Release \ PRODUCT_BUNDLE_SHORT_VERSION_STRING=2.0.0 # 设置 Build xcodebuild -project YourProject.xcodeproj -target YourTarget -configuration Release \ PRODUCT_BUNDLE_VERSION=456 ``` --- ### 四、版本号管理建议 1. **语义化版本控制** 遵循 `主版本.次版本.修订号`(如 `3.2.1`)规则,明确版本变更级别。 2. **构建号独立递增** 每次提交测试或发布时递增 `Build`,便于追踪具体构建。 3. **与Git标签同步** 可在发布时通过Git标签标记版本: ```bash git tag -a "v1.0.0" -m "Release version 1.0.0" ``` --- ### 常见问题 - **Q:修改后版本号未生效?** A:清理构建缓存(`Cmd+Shift+K`)后重新编译。 - **Q:脚本报权限错误?** A:确保脚本位于 `Build Phases` 的 `Target Dependencies` 之后。 通过以上配置,可系统化管理Xcode项目的版本信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值