App 版本号
将App 提交到App Store中,App的版本号是不允许重复的,只能往上增加版本号,在iOS中App的版本号是由两部分组成(Version+Build),一部分是大版本,另一部分是小版本;
大版本:对应于General中的Version,在Info.plist中的键为:CFBundleShortVersionString
小版本:对应于General中的Build,在Info.plist中的键为:CFBundleVersion
如果系统有重大版本发布,可以修改Version值,如果程序有小bug需要修复,但是又不想修改Version对应的值,修改Build也是可以的,例如1.0 + 1和1.0 + 2 是不同的版本。
手动修改Build
build的值可以进行累加的,可以通过手动修改,每次程序发布的时候手动修改一下,手动修改一个是可能会忘记修改,二是比较麻烦,三是手动修改的值可能会出现错误
通过shell脚本自动修改Build
可以通过shell脚本在程序Archive时对build号进行累加加1操作
具体操作步骤:
- 创建运行脚本 Run Script (选中Target–>Build Phases –> +)
- 将下面shell脚本粘贴到Sehll中
if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}
#increment the build number (ie 115 to 116)
buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
if [[ "${buildnum}" == "" ]]; then
echo "No build number in $plist"
exit 2
fi
buildnum=$(expr $buildnum + 1)
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Bumped build number to $buildnum"
else
echo $CONFIGURATION " build - Not bumping build number."
fi
shell脚本中的第一行是一个判断如果 configuration == Release 就往下执行,其中configuration 的值有两个Release 、Debug
3. 将调试模拟器改为真机占位(),选择菜单Product–>Archive进行打包,完成之后回到General中再看build值已经加1了;
如果想在Debug模式下测试build的值是否自动增加,可以将shell脚本中的第一行判断将Release该为Debug,然后直接Command + B ,之后就会发现build值由1变成2
本文参考codeYJ老师的文章:http://blog.sina.com.cn/s/blog_13ec67adc0102wimg.html