【发布时间】:2011-09-11 07:56:27
【问题描述】:
我试图弄清楚如何在我的 Xcode 4 项目中自动增加 Bundle 版本号(用于临时和发布版本)。我在网上找到了一些声称可以执行此操作的脚本,但我不确定是将它们放在“前置操作”还是“后置操作”中。我也不确定我应该在 plist 中放置什么值;然后脚本将更改的数字或变量?
到目前为止,我尝试过的所有选项似乎都不起作用,因此我们将不胜感激。
以下是我尝试使用的最新脚本:
conf=${CONFIGURATION}
arch=${ARCHS:0:4}
# Only increase the build number on Device and AdHoc/AppStore build
if [ $conf != "Debug" ] && [ $conf != "Release" ] && [ $arch != "i386" ]
then
buildPlist=${INFOPLIST_FILE}
buildVersion=$(/usr/libexec/PlistBuddy -c "Print CFBuildVersion" $buildPlist)
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" $buildPlist)
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $buildNumber" $buildPlist
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildVersion.$buildNumber" $buildPlist
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $buildVersion.$buildNumber" $buildPlist
fi
【问题讨论】:
-
Xcode 环境变量在 Xcode4 的 pre/post-action 中不可用(请参阅 openradar.appspot.com/9111439 或 openradar.appspot.com/9194286)。所以你可以安装最新版本的 Xcode。
-
很抱歉没有提到 Pre-actions/Post-actions 不是构建系统的一部分。如果您想在每次启动新的构建过程时更新构建号,请从 Post-action 运行您的脚本。您还可以查看以下步骤(充其量可能是一种解决方法) 1. cmd + , 2. 选择“行为”选项卡 3. 从左窗格 3.1 中选择“构建成功”项。检查右窗格中的“运行”选项,然后选择将增加内部版本号的脚本。如果您的构建成功,这次 buildNumber 将增加。注意:首选项适用于您的所有 Xcode 项目。