Xcode Auto-Increment Build Number

介绍

在Xcode项目中存在这两个版本号,分别是Bundle versionBundle versions string, short,都是在Info.plist文件中。

区别

  • Bundle version:这个一般是开发这需要关注的,因为这个代表每一次打包发布的版本号码,对于持续化集成维护方面能够准确定位到哪个版本出问题。
  • Bundle versions string, shotr:这个是给用户关注的版本号,通常正式发布一个上线版本才会修改这个版本号,以表示升级,用户通过该版本号向开发者反馈问题。

配置

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 "$plist 中没有Build版本号."  
exit 2  
fi

buildnum=$(expr $buildnum + 1)  
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Build版本号升至:$buildnum."

else  
echo $CONFIGURATION "Build版本号没有变化."  
fi