Xcode项目中Build号即为对应plist文件中的CFBundleVersion字段,应该是递增的.Build号涉及到类似数据库迁移,新版本与旧版本的兼容问题等等.所以合理的递增Build号是非常关键的.为了避免多人团队中的冲突问题,目前为止比较好的解决方案是根据Git提交数来设置Build号.
推荐脚本
1 2 3 4 5 6 7 8 9 10
| appBuild=`"$git" rev-list HEAD --count` if [ $CONFIGURATION = "Debug" ]; then branchName=`"$git" rev-parse --abbrev-ref HEAD` /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild-$branchName" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild-$branchName" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}.dSYM/Contents/Info.plist" else /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $appBuild" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}.dSYM/Contents/Info.plist" fi echo "Incremented the build number ${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
|
在build phase 的 Copy Bundle Resources 后面添一个 run script 脚本即可.
注意:
如果我们在Xcode使用调试生成配置,它会在版本号后加上当前分支的名字后缀.这避免了在并行
开发中不同分支版本号潜在的冲突.