Skip to content

Traducción 🌍

Traduce o mejora la traducción de esta página.

Contribuye

Configuración dinámica

Hay ciertos escenarios en los que podrías necesitar configurar dinámicamente tu proyecto en el momento de la generación. Por ejemplo, es posible que desee cambiar el nombre de la aplicación, el identificador de paquete, o el objetivo de despliegue basado en el entorno en el que se está generando el proyecto. Tuist soporta esto a través de variables de entorno, a las que se puede acceder desde los archivos de manifiesto.

Configuración a través de variables de entorno

Tuist permite pasar la configuración a través de variables de entorno a las que se puede acceder desde los ficheros de manifiesto. Por ejemplo:

bash
TUIST_APP_NAME=MyApp tuist generate

Si desea pasar varias variables de entorno, sepárelas con un espacio. Por ejemplo:

bash
TUIST_APP_NAME=MyApp TUIST_APP_LOCALE=pl tuist generate

Lectura de las variables de entorno de los manifiestos

Se puede acceder a las variables utilizando el tipo

`Entorno`.

Cualquier variable que siga la convención TUIST_XXX definida en el entorno o pasada a Tuist al ejecutar comandos será accesible utilizando el tipo Entorno. El siguiente ejemplo muestra cómo accedemos a la variable TUIST_APP_NAME:

swift
func appName() -> String {
    if case let .string(environmentAppName) = Environment.appName {
        return environmentAppName
    } else {
        return "MyApp"
    }
}

El acceso a las variables devuelve una instancia de tipo Environment.Value? que puede tomar cualquiera de los siguientes valores:

CasoDescripción
.string(Cadena)Se utiliza cuando la variable representa una cadena.

También puede recuperar la cadena o booleano Entorno variable utilizando cualquiera de los métodos de ayuda definidos a continuación, estos métodos requieren un valor por defecto que se pasa a asegurar que el usuario obtiene resultados consistentes cada vez. Esto evita la necesidad de definir la función appName() definida anteriormente.

::: grupo de códigos

swift
Environment.appName.getString(default: "TuistServer")
swift
Environment.isCI.getBoolean(default: false)

:::

Released under the MIT License.