是的,我知道这个问题已经在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完成的事情。
答案 0 :(得分:4)
您的Info.plist
文件中包含以下条目:
<key>Configuration</key>
<string>${CONFIGURATION}</string>
您可以通过以下方式访问:
var config = Bundle.main.infoDictionary?["Configuration"]