gpt4 book ai didi

ios - 如何在运行某个方案时不运行脚本?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:32 25 4
gpt4 key购买 nike

我将以下脚本保存为项目目标中的运行脚本:

git_output=$(git status | grep "nothing to commit, working directory clean")
if [[ -z "$git_output" ]]; then
xcrun agvtool next-version -all
fi

它检查 git 存储库以查看是否有任何未决更改,如果有,则增加项目的构建号。一切正常。

问题是在运行 KIF 测试时,内部版本号的更改会干扰 KIF 测试的运行,因此它永远不会启动模拟器并运行。我已经验证,如果没有发生此类内部版本号增量,KIF 测试将正常运行。

解决此问题的最简单方法是在 Xcode 中指定在运行特定方案时不运行给定脚本。此外,如果我可以从脚本本身查询正在运行的方案,那将完成同样的事情。但我不知道该怎么做。

最佳答案

您可以添加您在方案中选择的自己的“测试”构建配置。对于此构建配置,您可以定义自己的 GCC_PREPROCESSOR_DEFINITIONS

然后您可以从您的脚本使用 {GCC_PREPROCESSOR_DEFINITIONS} 访问它们。

needle="NO_BUILD=1"
haystack="${GCC_PREPROCESSOR_DEFINITIONS}"
if [[ "$haystack" =~ "$needle" ]]; then
echo "Test Build. Do not increase build number." >> ~/Desktop/Test.txt
else
echo "Not a test build" >> ~/Desktop/Test.txt
fi

要仅在特定方案上设置此build设置,请按照以下步骤操作。

  1. 创建配置。

Create a Configuration

  1. 为此配置设置build设置。

Set the build settings for this configuration

  1. 编辑您的方案并选择配置。

Choose the configuration for the scheme

关于ios - 如何在运行某个方案时不运行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854684/

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