ios开发答疑录系列---Xcode 4 设置App版本号
2012-11-25 01:48
549 查看
============================================================博文原创,转载请声明出处电子咖啡(原id蓝岩)============================================================刚接触ios开发的童鞋应该会对于app版本号吗有些疑问,因为target不仅仅在summary中有版本号,同样在Info.plist等地方也有版本号码的地方,一头乱码,不知吗?其实xcode在summary中已经将app最基本的设置进行了全面的封装,其余的plist,build setting等地方会跟着summary设置的改变而改变。
![](http://img.my.csdn.net/uploads/201211/25/1353778767_5676.png)
一个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版本号的有点就可以体现出来了,不是吗。
我这里有一段代码,可以在xcode编译时候自动增加build号码。
先把 Info.plist 里的版本号改成某个数字,然后 Targets → your target → Build Phases → Run Script 的地方加上:
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $PRODUCT_SETTINGS_PATH`
version=`expr $version + 1`
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" $PRODUCT_SETTINGS_PATH
#/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $version" $PRODUCT_SETTINGS_PATH 这行代码会让version也自增,一般不需要
![](http://img.my.csdn.net/uploads/201211/25/1353778767_5676.png)
一个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版本号的有点就可以体现出来了,不是吗。
我这里有一段代码,可以在xcode编译时候自动增加build号码。
先把 Info.plist 里的版本号改成某个数字,然后 Targets → your target → Build Phases → Run Script 的地方加上:
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $PRODUCT_SETTINGS_PATH`
version=`expr $version + 1`
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" $PRODUCT_SETTINGS_PATH
#/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $version" $PRODUCT_SETTINGS_PATH 这行代码会让version也自增,一般不需要
![](http://img.my.csdn.net/uploads/201211/25/1353779609_5616.png)
相关文章推荐
- ios开发答疑录系列---Xcode 4 设置App版本号
- ios开发答疑录系列---xcode 经常crash 当使用svn时候
- ios开发答疑录系列---iphone & ipad 图标大小和xcode配置
- ios开发答疑录系列---(二)Xcode 提交过程 遇到 no identities were available
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- ios开发答疑录系列--xcode 的target总是“My Mac 64-bit” 而不是 simulator or device
- ios开发答疑录系列---(二)Xcode 提交过程 遇到 no identities were available
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- ios开发答疑录系列---(二)Xcode 提交过程 遇到 no identities were available
- ios开发答疑录系列---(二)Xcode 提交过程 遇到 no identities were available
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- ios开发答疑录系列--XCode重命名文件夹
- ios设置App版本号
- ios开发答疑录系列---(七)IOS 线程处理
- iOS: Xcode6.1 上开发APP, 需兼容iOS7的几个问题
- ios开发答疑录系列--关于IOS单利的思考
- iOS开发:Xcode 7之后viewForHeaderInSection、viewForFooterInSection设置内容不产生效果的解决方法
- ###xcode开发iOS的app可能用到的几个文件夹路径
- Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?