Tengo algunos valores dinámicos que necesito cambiar según el tipo de compilación que estoy haciendo en Xcode.
Creé 2 esquemas DEV y PROD y configuré variables de entorno en cada uno
Luego consumo estos en código de la siguiente manera
var serviceDomain: String { let envVar = ProcessInfo.processInfo.environment guard let value = envVar["APP_SERVICE_DOMAIN"] else { fatalError("Missing APP_SERVICE_DOMAIN enviroment variable") } return value }¿Es esta la forma correcta de abordar esto?
Una vez que se compila una aplicación, ¿deberían incluirse estos valores con ella?
Tengo el problema de que una vez que detuve mi simulador, si trato de abrir una aplicación creada de esta manera, se bloquea y sospecho que las variables de entorno ya no están presentes.
En resumen, me gustaría una compilación para desarrollo que use un conjunto de variables y una compilación para lanzamiento/producción que use otro.
¡No necesita variables de entorno en absoluto!
Vaya a la configuración de compilación y busque las condiciones de compilación activas:
Agregue DEBUG para Debug y RELEASE para Release como lo he hecho aquí.
Luego declara tus variables. Digamos que desea que a sea 1 en modo de lanzamiento y 2 en modo de depuración,
#if RELEASE let a = 1 #elseif DEBUG let a = 2 #endif¡Y eso es!
El compilador elegirá uno de los valores para compilar, según la configuración de compilación de su esquema. Aquí, es depuración, por lo que se usarán 2: