菜鸟教程小白 发表于 2022-12-12 09:01:42

ios - Xcode build设置 - 在生产构建时从 plist 中删除代码


                                            <p><p>在我们的项目中,我们关闭了 HTTPS 请求并将它们作为 HTTP 发送,以便针对我本地机器上的 API 进行内部测试。
为此,我将此代码添加到 info.plist</p>

<pre><code>&lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
&lt;dict&gt;
    &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
    &lt;true/&gt;
&lt;/dict&gt;
</code></pre>

<p>这允许应用通过 HTTP 请求运行。显然,这对现场环境不利,也不太可能获得应用商店的批准;所以我想在我们的生产构建目标中设置代码以自动删除这个有问题的代码,以免我们不小心把它留在里面。我已经做了一些搜索,但似乎无法在网上找到任何建议。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>添加用户定义的build设置,例如 <code>ALLOWS_ARBITARARY_LOADS</code>,然后将其值更改为 <code>Yes</code> 或 <code>No</code> 以进行配置。然后更改 info plist 条目</p>

<pre><code>&lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
&lt;dict&gt;
    &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
    &lt;string&gt;$(ALLOWS_ARBITARARY_LOADS)&lt;/string&gt;
&lt;/dict&gt;
</code></pre>

<p><strong>注意</strong>:这里 <code>NSAllowsArbitraryLoads</code> 作为字符串添加,因为我们无法将 bool 值或数字值 rom build设置添加到 plist。即使它是一个字符串,它的 bool 值在运行时也将是 bool 值 Yes 或 No,因为 info plist 将其作为字典。 <a href="https://stackoverflow.com/questions/1832157/setting-a-boolean-property-in-info-plist-from-a-user-defined-setting" rel="noreferrer noopener nofollow">Reference</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Xcode build设置 - 在生产构建时从 plist 中删除代码,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/32752817/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/32752817/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Xcode build设置 - 在生产构建时从 plist 中删除代码