【问题标题】:iOS - How to determine if app was built as Debug or ReleaseiOS - 如何确定应用程序是作为 Debug 还是 Release 构建的
【发布时间】:2017-05-10 17:14:59
【问题描述】:

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

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?

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

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

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

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

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

【问题讨论】:

    标签: ios


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回答。我的任何 info.plist 文件中都没有看到任何“配置”条目。您是否建议我自己添加该条目?
    • 是的,您必须添加它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2021-08-19
    • 2010-10-22
    • 2012-02-22
    • 2010-09-16
    相关资源
    最近更新 更多