iOS 版本号Version和Build的区别

一个version,一个build,都是设置版本的地方,有什么区别呢?

在ios中(Android等工程中也一样),有两种version,一种是 CFBundleVersion ("Bundle Version"),也就是我们看到的version,另一种是CFBundleShortVersionString ("Bundle version string, short"),也就是我们看到的Build。

普通情况下,我们只使用version即可,设置为"1.0", "1.1", "2.0" , etc,但如果你要使用两个版本号时候,需要将build设置为1,2,3...等递增的整数,有什么用呢?

version我们可以通过App Store、itunes或其它软件看到,是给用户看的,而build是我们在团队开发中内部只用的,只有我们自己可以看到。比如团队打算发布1.0版本的时候,会发布很多build版本供测试或QA团队进行测试,你发布了很多build,因为一直在修改着代码,因此当你收到一条bug信息时候,你怎么知道是那个build引起的问题呢,这时候build版本号的有点就可以体现出来了

当前运行版本信息可以通过info.plist文件中的bundle version中获取:

NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];

CFShow(infoDic);

可以自己输出看一下CFShow打印出来的时什么

下面的代码是如果你想在UI上展示给用户看的获取Version的代码,对比是否升级也是通过version对比,而不是build,也是用下面代码

NSString  * appVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];

时间: 2024-08-10 21:20:47

iOS 版本号Version和Build的区别的相关文章

Version和Build的区别

[1]概念 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击"Summary"后看到. Version在plist文件中的key是"CFBundleShortVersionString",和AppStore上的版本号保持一致,Build在plist中的key是"CFBundleVersion",代表build的版本号,该值每次构建版本之后都应该增加1.这两个值都可以在程序中通过下面的

Xcode中的Version和Build的区别

Version( 应用程序发布版本号 ) Version对应的是CFBundleShortVersionString. Version 一般由产品部门确定,版本号是由分隔的整数组成的字符串,一般有2段或者3段式, 如:1.2,  1.2.3 二段式: 第一个段:(主版本号)大功能的新增或者有迥异的变化 第二个段:(副版本号)既包含小功能更新也会包含 bug 修复 三段式: 第一个段:重大修改的版本,如实现新的大功能或重大变化的修订. 第二个段:实现较突出的特点,如新功能添加和大问题修复. 第三个

【iOS】Version/Build

// Build ------ 20150719 ------ BundleVersion ------ internal Bundle version is the internal version number of your app. // Version ------ 1.8.3 ------ BundleVersionString,Short ------ public        Short version string is the publically visible vers

浅谈 iOS 版本号

FIR.im 一直在尽量兼容不同使用习惯的版本号形式, 但是在使用中我们发现好多开发者对怎么更好的用版本号来标示应用很陌生. 这是篇基础文章, 简单介绍 iOS 的版本号. 名词解释 Version, 通常说的版本号, 是应用向用户宣传说明时候用到的标识. 一般有2段或者3段式, 如:2.1,8.1.2 Version 一般由产品部门确定, 完全迥异的更新需要改变主版本号, 比如 QQ 4.0 的变化非常大, 主版本的变化会更加吸引用户的眼球,所以有的应用会频繁的更新主版本号, 比如 FireF

浅谈IOS版本号

Version,通常说的版本号,是应用向用户宣传说明时候用到的标识.一般有2段式或者3段式,例如:2.1,8.1.2 Version一般由产品部门确定,完全迥异的更新需要改变主版本号,比如QQ4.0的变化非常大,主版本的变化会更加吸引用户的眼球,所以有的应用会频繁的更新主版本号,比如FireFox 20.0.两段式的副版本号既包含小功能更新也会包含Bug修复等,三段式副版本基本都是新功能添加和大问题修复,第三段则表示稳定版本基本都是修复Bug. Build,编译号指一次唯一编译标识,通常是一个递

给iOS工程增加Daily Build

给iOS工程增加Daily Build  前言 Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 “持续集成” 的一个实践.Daily Build 对于开发来说有如下好处: 保证了每次 check in 的代码可用,不会造成整个工程编译失败. 进度跟进.产品经理可以每天看到最新的开发进度,并且试用产品,调整一些细节.很多时候,一个新功能,你真正用了一下才能有体会好或不好,所以 daily build 也给产品经理更多时间来调理他的设计. 需求确认.产品经理可以确认开发的功能细节

使用agvtool 自动化操作version and Build Numbers 的步骤

1.Build Numbers 存储在应用程序的Info.plist中,CFBundleVersion (Bundle version). 2.先在Xcode project中设置agvtool工具可用,target ->Build Settings->combined->Versioning 2.1 Set Current Project Version to a value of your choosing. 2.2 Set Versioning System to Apple Ge

IOS中Retain和Copy的区别

IOS中Retain和Copy的区别 1 ,可读性: readonly  . readwrite@property(readwrite,....) valueType value;这个属性是变量的默认属性,就是如果你 (readwrite and readonly 都没有使用,那么你的变量就是 readwrite 属性 ) ,通过加入 readwrite 属性你的变量就会有 get 方法,和 set 方法.property(readonly,...) valueType value;这个属性变量

IOS版本号被拒的经历

IOS版本号被拒的经历: 1,登陆方式依赖外部平台 由于我们的APP是仅仅用微博登陆.想做成类似meerkat类型的.也能各种消息都同步微博. 结果当然行不通,这个确实是不听好人言.网上多个人都说过这个问题了.早就该引以为戒! 后增加手机号登陆,问题搞定. 2,放在app store中的广告图片有手机画面中,状态栏是android的 这个我们太不小心了.后改动图片. 3.用户排行榜中,列举全部用户,而且在UITableViewCell中例举了username.头像.粉丝数.关注数.人气量.苹果觉