Fermer

août 8, 2024

Comment configurer des applications iOS pour plusieurs environnements (Dev, QA, Prod)

Comment configurer des applications iOS pour plusieurs environnements (Dev, QA, Prod)


Dans ce blog, nous allons apprendre quelque chose lié aux configurations des schémas de projet. Au fur et à mesure que nous avançons dans un projet, nous devons gérer les environnements (Développement, assurance qualité, mise en scène, production) et lorsque nous utilisons différents environnements, il existe différentes URL de serveur, icônes, fichiers Plist et configurations pour chaque environnement. Lors de la création d’un projet, un schéma est créé par défaut et n’est toujours pas configuré selon nos besoins. Il est difficile de gérer les choses tout en partageant des builds dans une situation de goulot d’étranglement. Nous allons donc créer des schémas, capables de gérer tous ces tracas au moment du partage de build pour un environnement particulier.

Maintenant se pose la question : comment gérer automatiquement la configuration en changeant de schéma (environnement) ?

Commençant par Création de schémas et de leurs configurations

Maintenant, configurez un projet :

Ouvrez XCode, sélectionnez Créer un nouveau projet > Applications > ajoutez un nom.

Créer des schémas et ajouter une configuration :

Ici, nous devons comprendre que lorsqu’un schéma Xcode est créé, il crée deux configurations de construction différentes, c’est-à-dire Debug et Release. Maintenant, si nous en avons besoin, nous pouvons les configurer selon nos besoins pour un environnement particulier.

Étape 1: Pour ajouter nos configurations de build, sélectionnez Projet dans le volet du navigateur de projet à gauche et sélectionnez Informations parmi les options.

Étape 2: Maintenant dans Configuration, ajoutez votre configuration pour les environnements (comme – Développement, assurance qualité, mise en scène, production, etc..)

Clique sur le + icône affichant la configuration de débogage en double, pour ajouter plusieurs configurations, répétez ces étapes si nécessaire. Double-cliquez sur le débogage et vous pouvez le renommer comme Développement, QA, Staging et Production comme l’image ci-dessous.

Configuration par défaut

Configuration par défaut

Créer une configuration pour tous les environnements

Créer une configuration pour tous les environnements

Ajouter une configuration en double pour l'environnement

Ajouter une configuration en double pour l’environnement

Ajouter et mettre à jour la configuration du schéma

Ajouter et mettre à jour la configuration du schéma

Ajoutez le fichier de configuration pour chaque schéma, Dans ce fichier, Ajoutez toutes les dépendances liées aux environnements particuliers (comme ServerURL, icônes et autres configurations) comme demandé.

Affichage du fichier de configuration

Affichage du fichier de configuration de développement

Accéder aux variables d'environnement

Accéder aux variables d’environnement

Étape 3: Pour le contenu du fichier de configuration du schéma de développement, des clés sont ajoutées à l’écran ci-dessus, pour récupérer la variable d’environnement en cas de besoin. Montrant les étapes pour l’environnement de développement, je l’ai répété pour chaque environnement.

Étape 4: Liez votre fichier de configuration et votre fichier de configuration de pod à chaque environnement créé. Après avoir ajouté tous les paramètres, cela ressemblera à ceci

Lier le fichier de configuration pour l'environnement

Lier le fichier de configuration pour l’environnement

Fichier de configuration Link Pod pour le schéma sélectionné

Fichier de configuration Link Pod pour le schéma sélectionné

Affichage du fichier de configuration de l'environnement lié aux schémas sélectionnés

Affichage du fichier de configuration de l’environnement lié aux schémas sélectionnés

Il y a encore une astuce pour y parvenir, car Étape 4: Suivez simplement le processus indiqué dans l’image ci-dessous :

Ajoutez le chemin du pod xcconfig ici dans le fichier de configuration de l'environnement

Ajoutez le chemin du pod .xcconfig ici dans le fichier de configuration de l’environnement

sélectionnez le fichier de configuration de l'environnement selon la configuration.

Sélectionnez le fichier de configuration de l’environnement selon la configuration.

Désormais tous les schémas avec leur environnement respectif sont liés. Il reste une dernière étape pour travailler correctement sur cette configuration.

Étape 5 : Sélectionnez n’importe quel schéma -> modifier le schéma -> et définissez la configuration souhaitée.

Dernière étape pour la configuration du schéma d'environnement

La dernière étape pour réaliser la configuration du schéma d’environnement

Le projet est prêt à être exécuté pour plusieurs schémas et la configuration est terminée :

Sélectionnez le schéma dans la liste déroulante et exécutez : l’environnement sera automatiquement configuré selon les besoins.

var environment: String {

        let env = Bundle.main.infoDictionary!["ENVIRONMENT"] as? String ?? ""

        return env 

}
var hostURL: String {

        let env = Bundle.main.infoDictionary!["HOST_URI"] as? String ?? ""

        return env

}

Firebase Crashlytics pour plusieurs environnements

Pourquoi avons-nous besoin d’une configuration multi-environnement pour Firebase Crashlytics ?

L’utilisation d’une configuration multi-environnements pour Firebase Crashlytics vous permet de gérer et de séparer les données et les paramètres pour les différentes étapes du processus de développement de votre application, telles que le développement, la préparation et la production. Voici plusieurs raisons pour lesquelles cela est bénéfique :

  1. Séparation de l’environnement :
    En utilisant différentes configurations pour chaque environnement, vous pouvez organiser vos rapports d’erreur. Cela permet de distinguer les plantages survenant pendant la phase de développement de ceux en production.
  2. Débogage ciblé :
    Les pannes dans l’environnement de développement peuvent être résolues sans interférence des données de production. Cela permet un débogage et des tests plus ciblés.
  3. Confidentialité et sécurité des données :
    La séparation des données de production garantit que les données utilisateur sensibles et les journaux de l’environnement de production ne sont pas accessibles dans les environnements de développement ou de test, améliorant ainsi la sécurité et la confidentialité.
  4. Gestion des versions:
    Différentes configurations aident à gérer plus efficacement les versions et les correctifs. Vous pouvez tester de nouvelles fonctionnalités et correctifs en phase intermédiaire avant de les déployer en production.
  5. Optimisation des performances :
    Il permet d’adapter la surveillance des performances et les rapports d’incidents aux besoins spécifiques de chaque environnement, en optimisant l’utilisation des ressources et en garantissant que les mesures de performances sont exactes pour chaque étape du cycle de vie de l’application.
  6. Conformité et surveillance :
    Différents environnements peuvent avoir différentes exigences de conformité. Les configurations multi-environnements aident à répondre à ces exigences en garantissant que seules les données pertinentes sont collectées et surveillées.
    Dans l’ensemble, la configuration multi-environnements pour Firebase Crashlytics fournit un moyen structuré et efficace de gérer, surveiller et répondre aux plantages tout au long du cycle de vie de développement de l’application.

Pour créer un environnement Firebase distinct

Étape 1: Créer/ajouter un projet

Créer ou ajouter un projet

Étape 2: Ajoutez un projet avec un ID de bundle dont vous disposez pour chaque environnement

Applications avec tout l'environnement

Étape 3: Téléchargez maintenant GoogleService-info.plist pour chaque environnement

Créez un dossier dans un projet et nommez-le, comme je l’ai montré un dossier nommé Firebase, ajoutez un dossier pour chaque environnement et nommez-le comme schémas (Développement, assurance qualité, mise en scène, production). Ces dossiers contiendront GoogleService-info.plist pour chaque environnement téléchargé depuis la console Firebase, comme indiqué

Fichier Plist

Fichiers cibles

Assurez-vous pour tout le GoogleService-info.plist dans chaque dossier d’environnement -> l’adhésion cible n’est pas cochée car celles-ci seront gérées à partir d’un script

Étape 4: Allez maintenant dans Projet et sélectionnez Cibles -> Aller à Phases de construction -> cliquez sur + icône ici -> Cliquez Nouvelle phase d’exécution du script

Ajouter un script d'exécution

Ajoutez ces codes de script à votre Nouveau script d’exécution Phase Lien essentiel, veuillez cliquer ici

Script de lancement

Construire maintenant -> Sur une construction réussie du code.

Exécution du script

Conclusion:

La mise en œuvre de plusieurs configurations est souvent utile dans le cycle de vie du développement d’une application, car elle permet au développeur de développer, d’intégrer, de tester et de déployer l’application individuellement pour chaque environnement, ce qui permet un meilleur suivi des analyses, des plantages et des données liées à l’environnement. Assurez-vous que la configuration de Firebase Crashlytics est correctement implémentée. Pour réévaluer, utilisez les points suivants :

1. Vérifiez les configurations :
Confirmez que chaque environnement possède sa propre application/projet Firebase et son propre fichier de configuration (par exemple GoogleService-Info.plist pour iOS). Assurez-vous que le fichier de configuration correct est inclus dans la build pour chaque environnement.
2. Test d’intégration :
Déclenchez un crash dans chaque environnement pour garantir que Crashlytics enregistre correctement les crashs. Cela peut être fait en ajoutant un extrait de code de crash de test (fatalError()). Vérifiez que les rapports d’erreur apparaissent dans la console Firebase sous l’application/le projet souhaité.
3. Vérifiez les données de la console :
Allez au Console Firebase pour confirmer que les plantages sont enregistrés dans les environnements appropriés.

Remarque : Vous pouvez accéder au code complet sur GitHub.
Exemple de code : https://github.com/Vibhashkumar2022/ME-FirebaseConfigurationApp

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link