我的项目当前已设置好,因此 MyApp 目标包含一些运行脚本构建阶段。这些脚本取决于构建阶段的顺序。例如,有一个脚本在 Copy Bundle Resources 之前运行,另一个在之后运行。
我的测试目标依赖于 MyApp,因此当我运行测试(产品菜单、测试)时,我不想包含其中一些脚本,因为它会减慢测试速度。
我想创建一个包含 MyApp 目标的聚合目标。然后将测试时不想运行的脚本移出 MyApp 并移入 Aggregate。但是,我看不到如何通过执行此操作来配置这些脚本何时运行的相同顺序。
有没有办法做到这一点?或者也许是一个更好的解决方案?
Best Answer-推荐答案 strong>
这取决于你的脚本在做什么:
您可以创建一个 Pre-Action(转到“编辑方案”)-在那里您可以添加一个运行脚本,它只会在您运行所选方案时执行。
你要知道的是re-Actions在另一个线程上,所以如果你想停止构建过程它不会起作用
如果可能:您可以检查您的脚本是否“调试”或“发布”
如果它足以检查这两个选项,您可以使用它:
wantedConfig="Debug"; currentConfig="$CONFIGURATION"
if [ $currentConfig=$wantedConfig ]; then
echo "Now Im on a debug mode and will do all you want here";
fi
您还可以创建自己的环境变量,例如:
TEST_MODE=YES
..并像上面的例子一样使用它:
currentConfig="$TEST_MODE"
关于ios - 在 Xcode 中,如何在运行测试时不运行某些运行脚本构建阶段?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/30742803/
|