我正在尝试弄清楚如何处理不同环境的变量/常量,例如开发(或调试)和发布。例如,在执行单元测试时,Web 服务的 url 应指向本地主机,但在最终产品中它应指向公共(public) api 主机。
我已经阅读了一些有关将 Swift 编译器 - 自定义标志调试设置设置为 -DDEBUG
的内容,然后在代码中像这样声明变量:
#if DEBUG
let url = "http://localhost"
#else
let url = "https://api.example.com"
#endif
但这没有用。运行单元测试时,url 永远不会设置为 http://localhost
。我在这里错过了什么吗?
最佳答案
编辑项目方案...
最后检查是否为您正在处理的模式定义了:
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/