ios - Xcode:Swift - 如何根据执行环境声明具有不同值的变量/常量?

标签 ios xcode debugging swift release

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

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

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

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

最佳答案

编辑项目方案...

enter image description here

定义环境变量: enter image description here

最后检查是否为您正在处理的模式定义了:

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

    }
}

关于ios - Xcode:Swift - 如何根据执行环境声明具有不同值的变量/常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131865/

相关文章:

ios - 如何获得.p12证书和.mobileprovision文件以在CS5.5中导出到iOS?

ios - 具有 UILabel 行为的自动布局无法解释

java - Netbeans 7.4 调试 session 期间输出中未找到堆栈跟踪

ios - 为什么Xcode方案中的React(missing)生成目标列表?

swift - 在 Core Data 中创建计算属性

javascript - 如何在 Chrome/Safari 中调试 EJS 代码

wpf - 绑定(bind)表达式错误的异常

ios - 音频 Remote 不起作用

ios - ios7 上的 UICollectionViewData validateLayoutInRect 断言失败

ios - Objective C 在图像上设置中心