gpt4 book ai didi

xcode - 将 Xcode 包版本设置为 git hash

转载 作者:IT王子 更新时间:2023-10-29 01:15:34 25 4
gpt4 key购买 nike

在 Xcode 中,我想将项目包版本设置为 git 哈希,以在修订版和构建版之间创建唯一链接。

(我看过几篇关于此的帖子,它们增加了每个构建的构建编号,但对我来说这似乎过分了,我希望有一个构建编号供测试人员在发件人反馈时引用)。

我在构建阶段添加了以下作为运行脚本:

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion `git rev-parse --short HEAD`" *.plist

然后我读出代码中的 bundle 版本:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

但是,在 构建之前,新的修订号不会出现在代码中。我认为这是因为当我的脚本运行时 plist 文件已经被编译器读取。

此外,由于 plist 在 提交到 git 之后用修订字符串更改,这会导致项目中出现令人讨厌的差异,所以也许我毕竟不是那么聪明。

另一种方法是将修订号写入一个文本文件 (build.txt),该文件会被 git 忽略。但我仍然希望项目内部版本号也遵循 git。

有人知道一个绝妙的方法吗?

最佳答案

您需要安装 PlistBuddy 才能使用此方法。

我使用的方法是将脚本设置为最后一个构建阶段,并在目标构建目录上进行更改。换句话说:

BUILD_NUMBER=`git rev-parse --short HEAD`
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "${TARGET_BUILD_DIR}"/"${INFOPLIST_PATH}"

所以在 repo 中,该值应该是一个虚拟值,例如 0,并且每次都会被覆盖。这确实意味着当前内部版本号仅在您构建后可用。

关于xcode - 将 Xcode 包版本设置为 git hash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192921/

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