Xcode Auto-Increment Build Number

介绍

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

区别

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

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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