【问题标题】:Detect whether iOS app is running Debug or Release build without preprocessor macros, for unit testing purposes?出于单元测试的目的,检测 iOS 应用程序是否在没有预处理器宏的情况下运行 Debug 或 Release 构建?
【发布时间】:2016-05-09 16:33:03
【问题描述】:

我已经看到了很多答案,并且熟悉使用某些预处理器宏来检查我是处于调试模式还是发布模式,但我热衷于围绕这些场景进行单元测试,所以我喜欢一种方法检查我是否可以模拟。

我们能否在不使用#if defined 的情况下检测调试、临时或发布?

【问题讨论】:

    标签: ios xcode macros


    【解决方案1】:

    您可以在 info.plist 中拥有一个键 configuration,其值为 ${CONFIGURATION}。确保在项目构建设置中设置了 plist 文件的路径。请参阅下面的图片以供参考。

    然后您可以访问 infoDictionary 以获取配置。代码如下

    let bundle : NSBundle = NSBundle.mainBundle()
    let configuration : String = (bundle.infoDictionary!["configuration"] as! String)  // configuration is key you set in plist file
    

    configuration 将是一个字符串,用于存储您的方案中的构建配置集。

    【讨论】:

    • 好主意!谢谢你:)
    猜你喜欢
    • 2022-07-28
    • 1970-01-01
    • 2023-01-09
    • 2014-07-23
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    相关资源
    最近更新 更多