Ce référentiel contient le code source de tous les SDK Firebase de la plateforme Apple, à l'exception de FirebaseAnalytics.
Firebase est une plate-forme de développement d'applications dotée d'outils pour vous aider à créer, développer et monétiser votre application. Plus d’informations sur Firebase peuvent être trouvées sur le site Web officiel de Firebase.
Consultez les sous-sections ci-dessous pour plus de détails sur les différentes méthodes d'installation. Lorsqu'elles sont disponibles, il est recommandé d'installer toutes les bibliothèques avec un suffixe Swift
pour obtenir la meilleure expérience lors de l'écriture de votre application dans Swift.
Installation de pod standard
Gestionnaire de paquets Swift
Installation à partir du dépôt GitHub
Carthage expérimentale
Pour obtenir des instructions sur l'installation du pod standard, visitez : https://firebase.google.com/docs/ios/setup.
Les instructions pour la prise en charge de Swift Package Manager se trouvent dans le fichier SwiftPackageManager.md Markdown.
Ces instructions peuvent être utilisées pour accéder au dépôt Firebase dans d'autres branches, balises ou commits.
Consultez la référence de syntaxe Podfile pour obtenir des instructions et des options sur le remplacement des emplacements sources des pods.
Toutes les versions officielles sont étiquetées dans ce dépôt et disponibles via CocoaPods. Pour accéder à un instantané source local ou à une branche inédite, utilisez les directives Podfile comme celles-ci :
Pour accéder à FirebaseFirestore via une branche :
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
Pour accéder à FirebaseMessaging via une version extraite du dépôt firebase-ios-sdk :
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
Les instructions pour la distribution expérimentale de Carthage peuvent être trouvées sur Carthage.md.
Pour plus de détails sur l'utilisation de Firebase à partir d'un Framework ou d'une bibliothèque, reportez-vous à firebase_in_libraries.md.
Pour développer le logiciel Firebase dans ce référentiel, assurez-vous de disposer d'au moins les logiciels suivants :
Xcode 15.2 (ou version ultérieure)
CocoaPods reste le moyen canonique de développement, mais une grande partie du référentiel prend désormais en charge le développement avec Swift Package Manager.
Installez les éléments suivants :
CocoaPods 1.12.0 (ou version ultérieure)
Les CocoaPods génèrent
Pour le pod que vous souhaitez développer :
pod gen Firebase{nom ici}.podspec --local-sources=./ --auto-open --platforms=ios
Remarque : Si le cache CocoaPods est obsolète, vous devrez peut-être exécuter pod repo update
avant la commande pod gen
.
Remarque : définissez l'option --platforms
sur macos
ou tvos
pour développer/tester ces plates-formes. Depuis la version 10.2, Xcode ne gère pas correctement les espaces de travail CocoaPods multiplateformes.
Firestore dispose d'un projet Xcode autonome. Voir le fichier Firestore/README Markdown.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
Cochez la case Mac dans les paramètres de construction App-iOS
Connectez-vous à l'application dans l'onglet Paramètres, signature et capacités.
Cliquez sur Pods dans le gestionnaire de projet
Ajouter la signature à l'application hôte iOS et aux cibles de tests unitaires
Sélectionnez le schéma Unité-Unité
Exécutez-le pour construire et tester
Vous pouvez également désactiver la connexion à chaque cible :
Accédez à l'onglet Paramètres de construction
Cliquez sur +
Sélectionnez Add User-Defined Setting
Ajoutez le paramètre CODE_SIGNING_REQUIRED
avec une valeur de NO
Pour activer les schémas de test : ./scripts/setup_spm_tests.sh
open Package.swift
ou double-cliquez sur Package.swift
dans le Finder.
Xcode ouvrira le projet
Choisissez un schéma pour une bibliothèque à créer ou une suite de tests à exécuter
Choisissez une plate-forme cible en sélectionnant la destination d'exécution ainsi que le schéma
Reportez-vous au fichier AddNewPod Markdown pour plus de détails.
Pour plus d’informations sur la gestion des en-têtes et des importations, consultez le fichier HeadersImports Markdown.
Pour vous assurer que le code est formaté de manière cohérente, exécutez le script ./scripts/check.sh avant de créer une pull request (PR).
GitHub Actions vérifiera que toutes les modifications de code sont effectuées dans le respect du style. Installez clang-format
et mint
:
Brew install clang-format@19brew install menthe
Sélectionnez un schéma et appuyez sur Commande-u pour créer un composant et exécuter ses tests unitaires.
Pour exécuter les exemples d'applications et les tests d'intégration, vous aurez besoin d'un fichier GoogleService-Info.plist
valide. Le projet Firebase Xcode contient des fichiers plist factices sans valeurs réelles, mais ils peuvent être remplacés par de vrais fichiers plist. Pour obtenir vos propres fichiers GoogleService-Info.plist
:
Accédez à la console Firebase
Créez un nouveau projet Firebase, si vous n'en avez pas déjà un
Pour chaque exemple d'application que vous souhaitez tester, créez une nouvelle application Firebase avec l'identifiant de bundle de l'exemple d'application (par exemple, com.google.Database-Example
).
Téléchargez le GoogleService-Info.plist
résultant et ajoutez-le au projet Xcode.
Pour les instructions de génération de rapport de couverture, consultez le fichier scripts/code_coverage_report/README Markdown.
Consultez les sections ci-dessous pour connaître les instructions spéciales relatives à ces composants.
Pour le développement spécifique de Firebase Auth, reportez-vous au fichier README Auth Sample pour obtenir des instructions sur la création et l'exécution du pod FirebaseAuth ainsi que divers exemples et tests.
Les tests d'intégration de base de données Firebase peuvent être exécutés sur un émulateur de base de données exécuté localement ou sur une instance de production.
Pour exécuter sur une instance d'émulateur local, appelez ./scripts/run_database_emulator.sh start
avant d'exécuter le test d'intégration.
Pour exécuter sur une instance de production, fournissez un GoogleServices-Info.plist
valide et copiez-le dans FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. Votre règle de sécurité doit être définie sur publique pendant l'exécution de vos tests.
Firebase Dynamic Links est obsolète et ne doit pas être utilisé dans de nouveaux projets. Le service cessera le 25 août 2025.
Veuillez consulter notre documentation FAQ sur la dépréciation des liens dynamiques pour plus de conseils.
Pour le développement spécifique de Firebase Performance Monitoring, consultez le fichier README Performance pour obtenir des instructions sur la création du SDK et le fichier README Performance TestApp pour obtenir des instructions sur l'intégration de Performance avec l'application de test de développement.
Pour exécuter les tests d'intégration du stockage, suivez les instructions dans StorageIntegration.swift.
Les notifications push ne peuvent être envoyées qu'aux ID d'application spécialement provisionnés dans le portail des développeurs. Afin de tester la réception des notifications push, vous devrez :
Remplacez l'identifiant du bundle de l'exemple d'application par quelque chose que vous possédez dans votre compte de développeur Apple et activez cet identifiant d'application pour les notifications push.
Vous devrez également télécharger votre clé d'authentification ou certificat de fournisseur APNs sur la console Firebase dans Paramètres du projet > Messagerie cloud > [Votre application Firebase] .
Assurez-vous que votre appareil iOS est ajouté à votre portail de développeur Apple en tant qu'appareil de test.
Le simulateur iOS ne peut pas s'inscrire aux notifications à distance et ne recevra pas de notifications push. Pour recevoir des notifications push, suivez les étapes ci-dessus et exécutez l'application sur un appareil physique.
Consultez le fichier README de Vertex AI pour Firebase pour obtenir des instructions sur la création et le test du SDK.
Firebase fournit une prise en charge bêta officielle pour macOS, Catalyst et tvOS. visionOS et watchOS sont pris en charge par la communauté. Merci aux contributions de la communauté pour de nombreux PR multiplateformes.
À l'heure actuelle, la plupart des produits Firebase sont disponibles sur les plates-formes Apple. Il reste encore quelques lacunes, notamment sur visionOS et watchOS. Pour plus de détails sur la matrice de prise en charge actuelle, consultez ce tableau dans la documentation de Firebase.
Lorsqu'il est pris en charge, visionOS fonctionne comme prévu à l'exception de Firestore via Swift Package Manager où il est requis pour utiliser la distribution source.
Pour activer la distribution source Firestore, quittez Xcode et ouvrez le projet souhaité à partir de la ligne de commande avec la variable d'environnement FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. Pour revenir à l'utilisation de la distribution binaire de Firestore, quittez Xcode et ouvrez Xcode comme d'habitude, sans la variable d'environnement.
Grâce aux contributions de la communauté, de nombreux SDK Firebase se compilent, exécutent désormais des tests unitaires et fonctionnent sur watchOS. Consultez l’exemple d’application Independent Watch.
Gardez à l'esprit que watchOS n'est pas officiellement pris en charge par Firebase. Bien que nous puissions détecter des problèmes de tests unitaires de base avec les actions GitHub, il peut y avoir certains changements où le SDK ne fonctionne plus comme prévu sur watchOS. Si vous rencontrez ce problème, veuillez signaler un problème.
Lors de la configuration de l'application dans la console, vous pouvez accéder à une étape qui mentionne quelque chose comme « Vérifier si l'application a communiqué avec nos serveurs ». Cela repose sur Analytics et ne fonctionnera pas sur watchOS. Vous pouvez ignorer le message et continuer en toute sécurité , le reste des SDK fonctionnera comme prévu.
watchOS a une prise en charge limitée. En raison des restrictions de watchOS, de nombreuses exceptions et plantages de signaux ne sont pas enregistrés. (Les crashs dans SwiftUI sont générés sous forme d'exceptions, ils ne seront donc pas enregistrés)
Grâce aux contributions de la communauté, FirebaseCombineSwift prend en charge le framework Combine d'Apple. Ce module est actuellement en cours de développement et n'est pas encore pris en charge pour une utilisation dans les environnements de production. Pour plus de détails, veuillez vous référer à la documentation.
Consultez la feuille de route pour en savoir plus sur les plans et les instructions Open Source du SDK Apple Firebase.
Consultez Contribuer pour plus d'informations sur la contribution au SDK Apple Firebase.
Le contenu de ce référentiel est sous licence Apache, version 2.0.
Votre utilisation de Firebase est régie par les conditions d'utilisation des services Firebase.