gpt4 book ai didi

xcode - 在 Xcode 中插入 Subversion 修订号

转载 作者:行者123 更新时间:2023-12-03 02:52:55 24 4
gpt4 key购买 nike

我想将当前的 Subversion 版本号(由 svnversion 报告)插入到我的 Xcode 项目中。我设法将修订号插入到 $PROJECT_DIR 中的 Info.plist 中,但这不是一个好的解决方案,因为该文件是版本化的。我尝试将修订版本插入到构建目录中的 Info.plist 中,但随后在代码签名阶段出现错误(这是一个 iPhone 应用程序)。

是否有一种简单的方法可以使用某些构建文件将修订号获取到应用程序中,以便更改修订版不会更改版本化文件?我想也许我可以创建一个临时源文件,该文件可以与其他文件链接并提供获取修订号的函数。但我不知道该怎么做。

我对其他解决方案不太感兴趣,即。 agvtool。我想要的只是应用程序可用的修订号,而不需要太多魔法。

最佳答案

有一个更简单的解决方案:使用 PlistBuddy ,包含在 Leopard 中的 /usr/libexec/PlistBuddy 中。请参阅my answer to a related SO question了解详情。

PlistBuddy 可在 Xcode 内的运行脚本构建阶段使用,并且可用于仅影响已处理的 plist 文件。只需将其放在复制资源阶段之后,您甚至不必每次运行时都清理目标。您甚至不必将值打印到头文件并让 SVN 忽略它。

echo -n ${TARGET_BUILD_DIR}/${INFOPLIST_PATH} \
| xargs -0 /usr/libexec/PlistBuddy -c "Set :CFBundleVersion `svnversion -n`"

假设您在代码签名发生之前添加构建阶段,您的 plist 应使用替换值进行签名。

关于xcode - 在 Xcode 中插入 Subversion 修订号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372218/

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