菜鸟教程小白 发表于 2022-12-13 14:30:10

iOS - 如何确定应用程序是作为 Debug 还是 Release 构建的


                                            <p><p>是的,我知道这个问题已经在 Stack Overflow 上被问过并回答了 3 次。 </p>

<p> <a href="https://stackoverflow.com/questions/9063100/xcode-ios-how-to-determine-whether-code-is-running-in-debug-release-build" rel="noreferrer noopener nofollow">Xcode / iOS: How to determine whether code is running in DEBUG / RELEASE build?</a> </p>

<p> <a href="https://stackoverflow.com/questions/19451944/checking-if-the-app-is-build-as-release" rel="noreferrer noopener nofollow">Checking if the app is build as release</a> </p>

<p> <a href="https://stackoverflow.com/questions/19420832/how-can-know-debug-or-release-in-ios-app" rel="noreferrer noopener nofollow">How can know Debug or Release in iOS App?</a> </p>

<p>但我对所有这些答案都有两个问题。 </p>

<p>除第三个问题的最后一个答案外,所有答案均基于在构建时测试预处理器定义。我更喜欢在运行时进行确定的一些技术,只是为了完全确定预处理器定义与实际构建最终完成的方式之间没有分歧。 (好吧,这可能是不可能的。)</p>

<p>但另一点是,我更喜欢在库模块中做出决定的代码,但测试是基于主应用程序模块的构建方式。因此,如果(偶然?)库模块是 Debug 版本,但主应用程序模块是 Release 版本,那么我希望测试表明该应用程序是 Release 版本。</p>

<p>也许这没有多大意义(我对 iOS 完全陌生),但对于我的 Android 应用,这是可能的 - 请参阅此处的第一个答案:
<a href="https://stackoverflow.com/questions/7085644/how-to-check-if-apk-is-signed-or-debug-build" rel="noreferrer noopener nofollow">How to check if APK is signed or &#34;debug build&#34;?</a> </p>

<p>所以我想知道 iOS 应用程序是否存在一些类似的技术。最好是可以从 Swift 中完成的事情。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您的 <code>Info.plist</code> 文件中有以下条目:</p>

<pre><code>&lt;key&gt;Configuration&lt;/key&gt;
&lt;string&gt;${CONFIGURATION}&lt;/string&gt;
</code></pre>

<p>您可以通过以下方式访问:</p>

<pre><code>var config = Bundle.main.infoDictionary?[&#34;Configuration&#34;]
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS - 如何确定应用程序是作为 Debug 还是 Release 构建的,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41327861/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41327861/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS - 如何确定应用程序是作为 Debug 还是 Release 构建的