我在项目的目标中将以下脚本保存为运行脚本:
git_output=$(git status | grep "nothing to commit, working directory clean")
if [[ -z "$git_output" ]]; then
xcrun agvtool next-version -all
fi
它检查 git repo 以查看是否有任何待处理的更改,如果有,则增加项目的内部版本号。这一切都很好。
问题在于,在运行 KIF 测试时,内部版本号的更改会与 KIF 测试的运行相混淆,因此它永远不会最终启动模拟器并运行。我已经验证,如果没有出现这样的内部版本号增量,KIF 测试将运行良好。
解决此问题的最简单方法是在 Xcode 中指定在运行某个方案时不运行给定脚本。此外,如果我可以从脚本本身查询正在运行的方案,那将完成同样的事情。但我不知道如何做其中任何一个。