iOS - 如何确定应用程序是构建为调试还是发布

时间:2016-12-26 07:26:59

标签: ios

是的,我知道这个问题已经在Stack Overflow上被问过三次了。

Xcode / iOS: How to determine whether code is running in DEBUG / RELEASE build?

Checking if the app is build as release

How can know Debug or Release in iOS App?

但是我对所有这些答案都有两个问题。

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

但另一点是,我更愿意拥有在库模块中进行确定的代码,但测试基于主app模块的构建方式。那么,如果(偶然?)库模块是一个Debug构建但主应用程序模块是一个Release版本,那么我想测试该应用程序是一个Release版本。

也许这没有多大意义(我对iOS很新),但对于我的Android应用程序,这是可能的 - 请参阅第一个答案: How to check if APK is signed or "debug build"?

所以我想知道iOS应用程序是否存在类似的技术。最好是可以从Swift完成的事情。

1 个答案:

答案 0 :(得分:4)

您的Info.plist文件中包含以下条目:

<key>Configuration</key>
<string>${CONFIGURATION}</string>

您可以通过以下方式访问:

var config = Bundle.main.infoDictionary?["Configuration"]