gpt4 book ai didi

XCode 4.4 捆绑版本更新直到后续构建才被采用

转载 作者:行者123 更新时间:2023-12-01 04:03:11 26 4
gpt4 key购买 nike

我可能在这里遗漏了一些简单的东西。我试图仅在归档我的应用程序时(为 TestFlight 部署做准备)在 XCode 4.4 中自动增加我的内部版本号。我有一个在目标上运行并成功更新每个构建的 info.plist 文件的工作 shell 脚本。我用于归档的构建配置名为“Ad-Hoc”。

这是脚本:

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 文件,并在我每次存档时反射(reflect)在 XCode 中。问题是归档过程中产生的 .ipa 文件仍然显示以前的内部版本号。我尝试了以下解决方案但没有成功:
  • 构建前清洁
  • 构建前清理构建文件夹
  • 将运行脚本阶段直接移动到构建阶段中的目标依赖项步骤之后
  • 在我的方案中添加脚本作为运行脚本操作作为预操作

  • 无论我做什么,当我查看构建日志时,我都会看到 info.plist 文件正在作为最开始的步骤之一进行处理。它总是在我的脚本运行和更新内部版本号之前,我假设,这就是为什么内部版本号在 .ipa 文件中永远不会是最新的。

    有没有办法在 info.plist 文件被处理之前强制运行脚本阶段运行?

    最佳答案

    在 Xcode 4.4.1 中,我创建新目标并添加到此目标构建阶段“运行自定义脚本”,这将更新主目标 Plist。而且,您应该将此目标添加到主要目标的依赖项中

    关于XCode 4.4 捆绑版本更新直到后续构建才被采用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785136/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com