【问题标题】:Xcode: Swift - How do I declare a variable/constant with different values depending on the execution environment?Xcode:Swift - 如何根据执行环境声明具有不同值的变量/常量?
【发布时间】:2015-05-21 19:35:19
【问题描述】:

我试图弄清楚如何处理不同环境的变量/常量,例如开发(或调试)和发布。例如,在执行单元测试时,Web 服务的 url 应该指向 localhost,但在最终产品中它应该指向公共 api 主机。

我已经阅读了一些关于将 Swift 编译器 - 自定义标志调试设置设置为 -DDEBUG 的内容,然后在代码中声明变量,如下所示:

#if DEBUG
  let url = "http://localhost"
#else
  let url = "https://api.example.com"
#endif

但这没有用。运行单元测试时,url 永远不会设置为http://localhost。我错过了什么吗?

【问题讨论】:

标签: ios xcode debugging swift release


【解决方案1】:

编辑项目方案...

定义你的环境变量:

最后检查是否为您正在处理的架构定义:

var baseURL:String{
    get{
        if let _ = ProcessInfo().environment["LOCAL_MOCK_SERVER"]{
            return "http:/localhost:3000"
        } else{
            return "https://api.fixer.io"
        }

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2017-11-28
    • 2017-10-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多