Fiche 11.01 — Installer Firebase dans une app SwiftUI
Objectif
Savoir installer Firebase dans une app SwiftUI et comprendre les fichiers/configurations nécessaires.
1. Étapes générales
2. Bundle Identifier
Le Bundle Identifier identifie ton app de manière unique.
Exemple :
Il doit correspondre à l’app déclarée dans Firebase et dans Xcode.
3. Ajouter le fichier GoogleService-Info.plist
Firebase te donne un fichier :
Il faut l’ajouter dans le projet Xcode et vérifier qu’il est bien inclus dans le target de l’app.
Ce fichier contient la configuration Firebase du projet.
⚠️ Bonne pratique Git : GoogleService-Info.plist n’est pas un secret ultra-sensible (il est embarqué dans le binaire de l’app), mais il identifie ton projet Firebase et tu as souvent un fichier différent par environnement (dev / prod). On évite donc de committer le mauvais par accident. Deux options propres :
- soit tu l’ignores et chaque dev/CI le récupère à part ;
- soit tu gardes
GoogleService-Info-Dev.plistetGoogleService-Info-Prod.plist, et un build script copie le bon selon le scheme.
Et de façon générale : aucune clé d’API serveur, aucun secret backend ne doit être committé en clair dans le repo (on les passe par .xcconfig ignoré, des variables d’environnement CI, ou un backend proxy). Voir la partie Sécurité.
4. Installation avec Swift Package Manager
Dans Xcode :
Produits courants :
- FirebaseAuth
- FirebaseFirestore
- FirebaseStorage
- FirebaseMessaging
- FirebaseCrashlytics
5. Configuration dans une app SwiftUI
C’est le minimum pour initialiser Firebase au lancement de l’app.
6. Avec AppDelegate si nécessaire
Certaines fonctionnalités, comme les notifications push, peuvent nécessiter un AppDelegate.
Puis dans l’app SwiftUI :
7. Dev / prod rapidement
Une vraie app peut avoir plusieurs environnements :
Cela permet de ne pas polluer les vraies données pendant le développement.
Résumé
- Firebase nécessite un projet Firebase et une app iOS déclarée.
- Le Bundle Identifier doit correspondre.
GoogleService-Info.plistdoit être ajouté au target.- Firebase s’installe via SPM ou CocoaPods.
FirebaseApp.configure()initialise Firebase.- Pour les push, un AppDelegate peut être nécessaire même en SwiftUI.