菜鸟教程小白 发表于 2022-12-13 03:15:51

ios - 运行某个Scheme时如何不运行脚本?


                                            <p><p>我在我的项目目标中保存了以下脚本作为运行脚本:</p>

<pre><code>git_output=$(git status | grep &#34;nothing to commit, working directory clean&#34;)
if [[ -z &#34;$git_output&#34; ]]; then
    xcrun agvtool next-version -all
fi
</code></pre>

<p>它会检查 git 存储库以查看是否有任何待处理的更改,如果有,则增加项目的内部版本号。一切正常。</p>

<p>问题在于,在运行 KIF 测试时,内部版本号的更改会与 KIF 测试的运行相混淆,因此它永远不会启动模拟器并运行。我已经验证,如果没有出现这样的内部版本号增量,KIF 测试将运行良好。</p>

<p>解决此问题的最简单方法是在 Xcode 中指定在运行某个方案时不运行给定脚本。此外,如果我可以从脚本本身查询正在运行的方案,那将完成同样的事情。但我不知道该怎么做。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以添加自己在方案中选择的“测试”构建配置。对于此构建配置,您可以定义自己的 <code>GCC_PREPROCESSOR_DEFINITIONS</code>。</p>

<p>然后您可以从您的脚本中使用 <code>{GCC_PREPROCESSOR_DEFINITIONS}</code> 访问这些内容。</p>

<pre class="lang-sh prettyprint-override"><code>needle=&#34;NO_BUILD=1&#34;
haystack=&#34;${GCC_PREPROCESSOR_DEFINITIONS}&#34;
if [[ &#34;$haystack&#34; =~ &#34;$needle&#34; ]]; then
echo &#34;Test Build. Do not increase build number.&#34; &gt;&gt; ~/Desktop/Test.txt
else
echo &#34;Not a test build&#34; &gt;&gt; ~/Desktop/Test.txt
fi
</code></pre>

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

<ol>
<li>创建配置。</li>
</ol>

<p> <img src="/image/xdDBO.png" alt="Create a Configuration"/> </p>

<ol 开始=“2”>
<li>为此配置设置build设置。</li>
</ol>

<p> <img src="/image/ttCv2.png" alt="Set the build settings for this configuration"/> </p>

<ol 开始=“3”>
<li>编辑您的方案并选择配置。</li>
</ol>

<p> <img src="/image/1id0E.png" alt="Choose the configuration for the scheme"/> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 运行某个Scheme时如何不运行脚本?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26854684/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26854684/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 运行某个Scheme时如何不运行脚本?