我的项目当前已设置好,因此MyApp目标包含一些运行脚本构建阶段。这些脚本取决于构建阶段的顺序。例如,有一个脚本在Copy Bundle Resources之前运行,另一个在之后运行。
我的测试目标取决于MyApp,所以当我运行测试(产品菜单,测试)时,我不想包含其中一些脚本,因为它会减慢测试速度。
我想创建一个包含MyApp目标的聚合目标。然后在测试MyApp和Aggregate时移动我不想运行的脚本。但是,我没有看到如何通过执行此操作来配置这些脚本运行时的相同顺序。
有办法做到这一点吗?或者也许是一个更好的解决方案?
答案 0 :(得分:1)
这取决于你的脚本在做什么:
您可以创建一个预操作(转到"编辑方案") - 在那里您可以添加一个运行脚本,它只会在您运行所选方案时执行。 你必须知道的是:预先行动是在另一个线程上,所以如果你想停止建设过程它就不会工作
如果可能:您可以查看您的脚本是否" debuging"或者"发布" 你可以使用它,如果它足以检查这两个选项,如:
**
wantedConfig ="调试和#34 ;; currentConfig =" $ CONFIGURATION"
if [$ currentConfig = $ wantedConfig];然后
echo"现在我处于调试模式,并且会在这里做你想做的所有事情&#34 ;;
音响**
您还可以创建自己的环境变量,如:
<强> TEST_MODE =是
..并像上面的例子一样使用它:
currentConfig =&#34; $ TEST_MODE&#34;
答案 1 :(得分:0)
这取决于您的脚本在做什么:
您可以创建一个 Pre-Action(转到“edit-scheme”) - 您可以在那里添加 一个运行脚本,它只会在您选择运行时执行 方案。你必须知道的是:Pre-Actions 在另一个线程上, 所以如果你想停止构建过程,它就行不通
如果可能:如果“调试”或 “释放”你可以使用它,如果它足以检查这两个 选项如:
wantedConfig="调试"; currentConfig="$CONFIGURATION" 如果 [ $currentConfig=$wantedConfig ];然后回显“现在我处于调试模式 并会在这里做你想做的一切"; fi 你也可以创建你自己的 环境变量,如:
TEST_MODE=YES
..并像上面的例子一样使用它:
currentConfig="$TEST_MODE"
逻辑在那里,但即使配置不同,它也会不断进入内部。经过一些调试和搜索,这是工作片段:
board_state[1][1] != None