使用条件根据 info.plist 环境键更改变量
Use conditional to change variable based on info.plist environment key
我的项目中有不同的环境(从 1 到 9 命名),它们在 info.plist“环境”键中设置。
如何在代码中访问这些环境以根据生成存档的环境更改变量?
例如,假设我在环境 n 上生成了一个存档。 9、我要使用URL“https://example2.com”。粗体部分是我想不通的部分(假设其余部分也正确):
func webViewURLRequest() -> URLRequest {
if **ENVIRONMENT = 1** {
let url = URL.safe(stringURL: "https://example1.com")
}
else {
let url = URL.safe(stringURL: "https://example2.com")
}
return URLRequest(url: url)
}
在您的第二次尝试中,无法在范围内找到 url,因为您是在 if 语句内创建它的。假设您的环境已正确找到,您可以将代码重新排列成类似这样的内容来测试它:
func webViewURLRequest() -> URLRequest {
let environment = Bundle.main.infoDictionary?["Environment"] as? String
if environment == "1" {
return URLRequest(url: URL.safe(stringURL: "https://example1.com"))
} else {
return URLRequest(url: URL.safe(stringURL: "https://example2.com"))
}
}
我的项目中有不同的环境(从 1 到 9 命名),它们在 info.plist“环境”键中设置。
如何在代码中访问这些环境以根据生成存档的环境更改变量?
例如,假设我在环境 n 上生成了一个存档。 9、我要使用URL“https://example2.com”。粗体部分是我想不通的部分(假设其余部分也正确):
func webViewURLRequest() -> URLRequest {
if **ENVIRONMENT = 1** {
let url = URL.safe(stringURL: "https://example1.com")
}
else {
let url = URL.safe(stringURL: "https://example2.com")
}
return URLRequest(url: url)
}
在您的第二次尝试中,无法在范围内找到 url,因为您是在 if 语句内创建它的。假设您的环境已正确找到,您可以将代码重新排列成类似这样的内容来测试它:
func webViewURLRequest() -> URLRequest {
let environment = Bundle.main.infoDictionary?["Environment"] as? String
if environment == "1" {
return URLRequest(url: URL.safe(stringURL: "https://example1.com"))
} else {
return URLRequest(url: URL.safe(stringURL: "https://example2.com"))
}
}