Xcode – 增量内部版本号?

我发现了一些其他的post,展示了如何添加一个脚本来增加脚本的内部版本号:

更好的方式增加内部版本号?

Xcode项目的“内部版本号”

Xcode可以在构build时将版本号插入库的文件名吗?

但是我想要做的只是在使用ARCHIVE(前后)时增加内部版本号。

例如:如果当前版本号是21,那么当我select产品>存档时,版本号会增加到22,它将通过build立和创build版本号为22的档案文件的过程,然后当它完成存档,将增加到23。

添加以下脚本,如在您发布的第一个链接中列出的示例,但要做两次。 一旦在构build的开始,并在最后一次:

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 

非常感谢您在问题中提到的问题作者提供的信息,让我开始了解这个答案!

这与@Inafziger的答案非常相似,只是一组更简洁的代码,另外还有一个额外的好处,就是在XCode中使用一个checkbox而不是运行时variables:

在这里输入图像说明

按照这些说明两次,拖动一个开始和一个结尾:

 # xcode-build-bump.sh # @desc Auto-increment the build number every time the project is run. # @usage # 1. Select: your Target in Xcode # 2. Select: Build Phases Tab # 3. Select: Add Build Phase -> Add Run Script # 4. Paste code below in to new "Run Script" section # 5. Drag the "Run Script" below "Link Binaries With Libraries" # 6. Ensure that your starting build number is set to a whole integer and not a float (eg 1, not 1.0) # 7. Check the checkbox "Run script only when installing" buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}" 

https://gist.github.com/sekati/3172554

Xcode包括命令行工具agvtool来增加版本号 。 所以你不必手动使用PListBuddy

xcrun agvtool next-version -all

增加你的内部版本号。

xcrun agvtool new-marketing-version 2.0

设置一个新的用户可见的版本号。

详细信息请参阅完整的文档 。