仅在存档期间使用Xcode增量版本号?
我还发现了一些其他帖子,展示了如何添加脚本以使用脚本增加构建编号: 但我想做的是,当我使用归档文件时(包括之前和之后),只增加构建数量 例如:仅在存档期间使用Xcode增量版本号?,xcode,macos,xcode4,xcode4.2,osx-lion,Xcode,Macos,Xcode4,Xcode4.2,Osx Lion,我还发现了一些其他帖子,展示了如何添加脚本以使用脚本增加构建编号: 但我想做的是,当我使用归档文件时(包括之前和之后),只增加构建数量 例如: 如果当前版本号为21,则当我选择“产品>存档”时,版本号将增加到22,它将以22的版本号完成构建和创建存档文件的过程,然后在完成存档后,将版本号增加到23。添加以下脚本,正如您发布的第一个链接中列出的示例,但请执行两次。一次在构建开始时,一次在构建结束时: if [ $CONFIGURATION == Release ]; then ech
如果当前版本号为21,则当我选择“产品>存档”时,版本号将增加到22,它将以22的版本号完成构建和创建存档文件的过程,然后在完成存档后,将版本号增加到23。添加以下脚本,正如您发布的第一个链接中列出的示例,但请执行两次。一次在构建开始时,一次在构建结束时:
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的答案非常相似,但更简洁的代码集,还有一个额外的好处,即“Release”的检查是通过XCode中的复选框而不是运行时变量完成的: 按照以下说明操作两次,将一个拖到开头,一个拖到结尾(一个在生成之前运行,一个在生成之后运行): 请参见Xcode includes。因此,您不必使用
PListBuddy
手动执行所有操作
xcrun agvtool下一版本-全部
增加你的建造数量
xcrun agvtool新营销版本2.0
设置新的用户可见版本号
请参阅。您想在每次存档时向版本号添加两个吗?我想在存档前添加1,然后在存档后添加1。因此,在上面的示例中,存档本身的版本号为22。但我不想每次构建时都增加构建数量,只想在存档时增加。谢谢!我在制作自己的归档脚本时发现了这个问题,我喜欢你的“将构建数量增加两倍”的想法。最后我把它合并到我的(如果它对你有帮助的话,请随意复制)太棒了!谢谢工作完美。在Xcode 4.2中,您甚至不需要在某个目录中创建脚本,只需将其复制并粘贴到构建阶段部分即可。。在Xcode 4.2中,它需要是
==Release
而不是==Archive
,这听起来可能很傻,但是。。为什么要加两次呢?这不会增加两倍吗?是的,这就是他想要的。:-)如果您只希望它碰撞一次,那么只添加一次。在Xcode 5中,如果[$CONFIGURATION==Release],您可以跳过If[$CONFIGURATION==Release];然后
检查并将其添加到存档方案的后期操作中(项目>方案>编辑方案…)。我还成功地将此脚本添加到了上述@starkos建议的方案后期操作中。谢谢如果获取的Print:Entry,“CbundLeverVersion”不存在,请删除路径的${PROJECT\u DIR}/
部分。问题:为什么要执行两次?请参阅操作。它要求在执行之前和之后增加生成编号build@ccwasden增量版本号仅在存档之后,有什么方法可以在之前完成吗?我应该在构建之前还是之后添加此脚本?在之前。你希望新版本被包括在内。哇,令人惊讶的是,这没有更多的选票,这似乎是一个完美的答案。感谢@orkodenal虽然比@ccwasden的解决方案更干净,但这一解决方案使xcode在每次构建时重新加载xcodeproj并在左侧导航器中折叠分组(xcode 9.1 9B55)
# 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 (e.g. 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}"