iOS 设置项目的version和build号

设置项目的version和build号

Version: 1.0.1

Build: 1.0.1

1,Version是显示对外的版本号,(itunesconect和Appstore用户可以看到)

对应O-C中获取version的值:

[[[NSBundle mainBundle]infoDictionary]valueForKey:@"CFBundleShortVersionString"];

该版本的版本号是三个分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本

例如:1.0.1或者  1.2.3等等

2,build别人看不到,只有开发者自己才能看到,相当于内部版本号。【更新版本的时候,也要高于之前的build号】 

对应获取方式:

[[[NSBundle mainBundle]infoDictionary]valueForKey:@"CFBundleVersion"];

标示(发布或者未发布)的内部版本号。这是一个单调增加的字符串,包括一个或者多个分割的整数。

3,InfoDictionary version --- CFBundleInfoDictionaryVersion  Info.plist格式的版本信息,一般这个值不改动.


总结:

Version:Bundle versions string, short:用于itunes上显示的版本号,即对外的版本。(最多是3个部分组成即 x.y.z)。

build :Bundle version:内部项目管理的版本号,不对外。所以可以定义任意形式


一般要检查版本更新,要用到的是Version,而不是用build;

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

这里有一段代码,可以在xcode编译时候自动增加build号码。

先把 Info.plist 里的版本号改成某个数字,然后 Targets → your target → Build Phases → Run Script 的地方加上: 


  1. version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $PRODUCT_SETTINGS_PATH`  
  2. version=`expr $version + 1`  
  3. /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" $PRODUCT_SETTINGS_PATH  
  4. #/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $version" $PRODUCT_SETTINGS_PATH 这行代码会让version也自增,一般不需要  

你可能感兴趣的:(ios,ios开发)