Build 跟Version的区别

打开项目->Target 可以看到一个Build号跟一个Version号 这里的信息是跟Info.plist的信息是想对应的

Build 跟Version的区别_第1张图片
Snip20161008_8.png

我们打开Info.plist


Build 跟Version的区别_第2张图片
Snip20161008_9.png

他们对应的关系

Build 跟Version的区别_第3张图片
Snip20161008_7.png

代码获取他们

  • Build
[[NSBundle mainBundle].infoDictionary objectForKey:@"CFBundleVersion"];
  • Version
[[NSBundle mainBundle].infoDictionary objectForKey:@"CFBundleShortVersionString"];

二者的区别

  • 普通情况下,我们只使用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版本号的有点就可以体现出来了

开发技巧
在Xcode编译时候自动增加build号码,先把 Info.plist 里的版本号改成某个数字,然后 Targets → your target → Build Phases → Run Script 的地方加上:


Build 跟Version的区别_第4张图片
屏幕快照 2016-11-09 上午9.30.58.png
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

你可能感兴趣的:(Build 跟Version的区别)