server/priv/docs/zh_Hans/guides/features/projects/dynamic-configuration.md
在某些情况下,您可能需要在生成时动态配置项目。例如,您可能想根据生成项目的环境更改应用程序名称、捆绑标识符或部署目标。Tuist 支持通过环境变量来实现这一点,这些变量可以从清单文件中访问。
Tuist 允许通过可从清单文件访问的环境变量传递配置。例如
TUIST_APP_NAME=MyApp tuist generate
如果要传递多个环境变量,只需用空格隔开即可。例如
TUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate
可以使用
<LocalizedLink href="/references/project-description/enums/environment">Environment</LocalizedLink>
类型访问变量。环境中定义的或运行命令时传递给 Tuist 的变量TUIST_XXX 都可以使用Environment
类型访问。下面的示例展示了如何访问TUIST_APP_NAME 变量:
func appName() -> String {
if case let .string(environmentAppName) = Environment.appName {
return environmentAppName
} else {
return "MyApp"
}
}
访问变量时会返回一个Environment.Value? 类型的实例,它可以接受以下任何值:
| 案例 | 描述 |
|---|---|
.string(String) | 当变量表示一个字符串时使用。 |
您还可以使用下面定义的辅助方法检索字符串或布尔环境 变量,这些方法需要传递一个默认值,以确保用户每次都能获得一致的结果。这样就无需定义上文定义的函数
appName()。
代码组
Environment.appName.getString(default: "TuistServer")
Environment.isCI.getBoolean(default: false)
:::