我可能在这里错过了一些简单的东西。我正在尝试在XCode 4.4中自动增加我的内部版本号(仅在存档我的应用程序时)(准备TestFlight部署)。我有一个运行在目标上的工作shell脚本,并成功更新每个构建的info.plist文件。我的存档配置是名称'Ad-Hoc'。XCode 4.4捆绑版本更新没有拿起,直到后来生成
下面是脚本:
if [ $CONFIGURATION == Ad-Hoc ]; then
echo "Ad-Hoc build. Bumping build#..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}
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
该脚本适当地更新plist文件,每次我存档时间反映在XCode中。问题是来自归档进程的.ipa文件仍然显示以前的内部版本号。我曾尝试没有成功以下解决方案:
- 清洁之前建立
- 干净生成文件夹中的目标相关性的步骤在构建阶段
- 添加脚本后直接前建立
- 移动运行脚本阶段在我的方案中运行脚本行动预执行
不管我做什么,当我看到生成日志,我看到Info.plist文件被处理为一体的第一个小号TEPS。它始终在我的脚本运行并更新内部版本号之前,我假设为什么内部版本号在.ipa文件中永远不会是最新的。
有没有办法在处理info.plist文件之前强制运行脚本阶段?
我认识到那个脚本的一些部分;-)你没有说过你如何将这个脚本挂接到构建过程中?你是否编辑了项目方案并添加到“档案”阶段? – trojanfoe 2012-08-20 12:02:31