La siguiente parte que quería abordar era como hacer peticiones a una API con Alamofire, pero cuando empecé me di cuenta que no quería exponer mi Api Key en el repositorio donde estoy subiendo el código de la aplicación.
Así que lo que vamos a hacer antes de llamar a nuestra API, será ver como almacenar correctamente nuestra Api Key de forma segura.
Lo primero que haremos será crear un nuevo archivo de tipo «Configuration Settings File» donde podremos incluir todos los valores sensibles.

Creo una entrada para mi api key, así:

Lo siguiente que haremos será ir a nuestro archivo Info.plist, que para los proyectos nuevos hechos con SwiftUI no existirá. En este caso, tenemos que ir en nuestro proyecto a la pestaña Info, y dentro de «Custom iOS Target Properties» añadir una clave nueva (pulsamos sobre la última y después Enter). Notaremos que después de hacer esto tenemos un nuevo archivo Info.plist.
Tenemos que añadir un nuevo par clave-valor. La key será «API_KEY» y el valor «$(API_KEY). Esta última es la que hace referencia a nuestro archivo de configuración del paso anterior.

Ahora, en nuestro proyecto, le decimos que archivo de configuración debe tomar. Podemos tener uno diferente para cada tipo de compilación si lo queremos. En este caso usaremos el mismo.
¿Cuándo podemos tener varios? Imaginaros que una de las claves fuese una url a un servidor. Para debug podría apuntar a un servidor de desarrollo y para release al de producción.

En nuestro archivo .gitignore debemos añadir una entrada para que no añada los cambios de nuestro archivo de configuración. Este archivo lo abro desde terminal con vim, pero aquí el editor es lo de menos.

Una vez ya tenemos todo configurado, vamos a utilizarlo en nuestra app.
Primero de todo creamos un archivo Configuration.swift. Aquí expondremos una propiedad con el valor de nuestra api key. Esto lo estaremos leyendo de nuestro archivo Info.plist.
class Configuration {
let apiKey: String? = Bundle.main.infoDictionary?["API_KEY"] as? String
}
Ahora solo quedará instanciar nuestra clase Configuration donde se necesite este api key.
let configuration = Configuration()
configuration.apiKey
Como veis, es muy sencillo manejar nuestras api keys o cualquier otro parámetro de configuración.
Por supuesto, y por seguridad, no incluyáis claves en vuestra aplicación, en todo caso, si las necesitáis, tenedlas a buen recaudo en un servidor seguro, y solo obtenedlas bajo una conexión segura.
Podéis ver el código completo en el repositorio donde estamos haciendo nuestra aplicación para leer películas https://github.com/3pies/moviesios o podéis ver el proceso completo en mi canal de Youtube.