gpt4 book ai didi

xcode - 在构建时更新 dSYM 中的 CFBundleShortVersionString?

转载 作者:行者123 更新时间:2023-12-04 14:47:32 25 4
gpt4 key购买 nike

我在我的项目中使用它作为构建阶段:

export PLISTBUDDY="/usr/libexec/PlistBuddy"

export INFO="${CODESIGNING_FOLDER_PATH}/Info.plist"
export RXREVISION=`git describe --tags | perl -pi -E "s/[^-]+\-([^-]+).*/\1/"`
export RXVERSION=`git describe --tags | perl -pi -E "s/([^-]+)\-[^-]+.*/\1/"`
$PLISTBUDDY $INFO -c "add CFBundleVersion string $RXREVISION"
$PLISTBUDDY $INFO -c "set :CFBundleVersion $RXREVISION"
$PLISTBUDDY $INFO -c "add CFBundleShortVersionString string $RXVERSION"
$PLISTBUDDY $INFO -c "set :CFBundleShortVersionString $RXVERSION"

这非常适用于更新构建应用程序的 Info.plist 中的构建修订版,并且它不会改变我的源代码树。

我尝试将我的更新版本脚本放在链接阶段的末尾和之前。无论哪种方式,它都能影响对构建的应用程序的更改,但 dSYM 是从原始源代码树构建的。

构建的应用程序和构建的 dSYM 之间的版本号不匹配是一个问题。 (HockeyApp 在这里抛出错误。)

如果我更新源树中的 Info.plist,我需要处理它的变化。这给我留下了两个我可以看到的选项:
  • 将 Info.plist 置于源代码管理之下,并让脚本直接对其进行编辑。但这意味着我需要在每次构建后检查更改。
  • 忽略 Info.plist,让脚本直接编辑它。但是 Info.plist 中还有很多其他的东西,我 想要在源代码控制下。

  • 我怎样才能自动更新 dSYM 中的版本,而不必处理我的源树中的 Info.plist 更改每个构建?

    另外,切线:我如何在 dSYM 中看到版本?

    最佳答案

    接受的答案是正确的,但没有提供有关如何修改 dsym 的 plist 的实际细节。将以下行添加到构建脚本中会修改 dsym 中的 plist:

    cd "$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app.dSYM/Contents"
    $PLISTBUDDY -c "Set CFBundleVersion $RXREVISION" Info.plist

    关于xcode - 在构建时更新 dSYM 中的 CFBundleShortVersionString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13323728/

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