菜鸟教程小白 发表于 2022-12-13 07:57:39

ios - 在 Xcode 中,如何在运行测试时不运行某些运行脚本构建阶段?


                                            <p><p>我的项目当前已设置好,因此 MyApp 目标包含一些运行脚本构建阶段。这些脚本取决于构建阶段的顺序。例如,有一个脚本在 Copy Bundle Resources 之前运行,另一个在之后运行。</p>

<p>我的测试目标依赖于 MyApp,因此当我运行测试(产品菜单、测试)时,我不想包含其中一些脚本,因为它会减慢测试速度。</p>

<p>我想创建一个包含 MyApp 目标的聚合目标。然后将测试时不想运行的脚本移出 MyApp 并移入 Aggregate。但是,我看不到如何通过执行此操作来配置这些脚本何时运行的相同顺序。 </p>

<p>有没有办法做到这一点?或者也许是一个更好的解决方案? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这取决于你的脚本在做什么:</p>

<ul>
<li><p>您可以创建一个 Pre-Action(转到“编辑方案”)-在那里您可以添加一个运行脚本,它只会在您运行所选方案时执行。
你要知道的是:Pre-Actions在另一个线程上,所以如果你想停止构建过程它不会起作用</p></li>
<li><p>如果可能:您可以检查您的脚本是否“调试”或“发布”
如果它足以检查这两个选项,您可以使用它:</p>

<pre><code>wantedConfig=&#34;Debug&#34;; currentConfig=&#34;$CONFIGURATION&#34;   
if [ $currentConfig=$wantedConfig ]; then
echo &#34;Now Im on a debug mode and will do all you want here&#34;;
fi
</code></pre> </li>
<li><p>您还可以创建自己的环境变量,例如:</p></li>
</ul>

<p><strong>TEST_MODE=YES</strong></p>

<p>..并像上面的例子一样使用它:</p>

<p><strong>currentConfig="$TEST_MODE"</strong> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 Xcode 中,如何在运行测试时不运行某些运行脚本构建阶段?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30742803/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30742803/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 Xcode 中,如何在运行测试时不运行某些运行脚本构建阶段?