Ajouter Firebase à votre projet Apple

Prérequis

  • Installez les éléments suivants:

    • Xcode 15.2 ou version ultérieure
  • Assurez-vous que votre projet répond aux exigences suivantes:

    • Votre projet doit cibler les versions de plate-forme suivantes ou ultérieures :
      • iOS 13
      • macOS 10.15
      • tvOS 13
      • watchOS 7
  • Configurez un appareil Apple physique ou utilisez un simulateur pour exécuter votre application.

Si vous ne disposez pas encore d'un projet Xcode et que vous souhaitez simplement tester un produit Firebase, vous pouvez télécharger l'un de nos exemples de démarrage rapide.

Étape 1: Créez un projet Firebase

Avant de pouvoir ajouter Firebase à votre application Apple, vous devez créer un projet Firebase pour vous y connecter. Pour en savoir plus sur les projets Firebase, consultez Comprendre les projets Firebase.

Étape 2: Enregistrer votre application auprès de Firebase

Pour utiliser Firebase dans votre application Apple, vous devez enregistrer votre application auprès de votre projet Firebase. L'enregistrement de votre application est souvent appelé "ajout" de votre application à votre projet.

  1. Accédez à la console Firebase.

  2. Au centre de la page de présentation du projet, cliquez sur l'icône iOS+ pour lancer le processus de configuration.

    Si vous avez déjà ajouté une application à votre projet Firebase, cliquez sur Ajouter une application pour afficher les options de plate-forme.

  3. Saisissez l'ID de votre application dans le champ ID du bundle.

  4. (Facultatif) Saisissez d'autres informations sur l'application : le pseudo de l'application et l'ID de l'App Store.

  5. Cliquez sur Enregistrer l'application.

Étape 3: Ajouter un fichier de configuration Firebase

  1. Cliquez sur Télécharger GoogleService-Info.plist pour obtenir votre fichier de configuration des plates-formes Apple Firebase (GoogleService-Info.plist).

  2. Déplacez votre fichier de configuration à la racine de votre projet Xcode. Si vous y êtes invité, sélectionnez l'option permettant d'ajouter le fichier de configuration à toutes les cibles.

Si votre projet contient plusieurs ID de bundle, vous devez associer chaque ID de bundle à une application enregistrée dans la console Firebase afin que chaque application puisse disposer de son propre fichier GoogleService-Info.plist.

Étape 4: Ajouter les SDK Firebase à votre application

Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.

  1. Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Packages (Fichier > Ajouter des packages).
  2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Sélectionnez la version du SDK que vous souhaitez utiliser.
  5. Choisissez les bibliothèques Firebase que vous souhaitez utiliser.

    Si Google Analytics est activé dans votre projet Firebase, veillez à ajouter FirebaseAnalytics. Pour Analytics sans fonctionnalité de collecte IDFA, ajoutez FirebaseAnalyticsWithoutAdId à la place.

Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.

Étape 5: Initialiser Firebase dans votre application

La dernière étape consiste à ajouter un code d'initialisation à votre application. Vous avez peut-être déjà fait cela lorsque vous avez ajouté Firebase à votre application. Si vous utilisez un exemple de projet de démarrage rapide, cela a déjà été fait pour vous.

  1. Importez le module FirebaseCore dans votre UIApplicationDelegate, ainsi que tous les autres modules Firebase utilisés par votre délégué d'application. Par exemple, pour utiliser Cloud Firestore et Authentication:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Configurez une instance partagée FirebaseApp dans la méthode application(_:didFinishLaunchingWithOptions:) de votre délégué d'application:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Si vous utilisez SwiftUI, vous devez créer un délégué d'application et l'associer à votre struct App via UIApplicationDelegateAdaptor ou NSApplicationDelegateAdaptor. Vous devez également désactiver le mélange des délégués d'application. Pour en savoir plus, consultez les instructions SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Si vous avez inclus le SDK Firebase pour Google Analytics, vous pouvez exécuter votre application pour envoyer à la console Firebase la confirmation que vous avez bien installé Firebase.

Et voilà ! Vous pouvez passer aux étapes suivantes.

Toutefois, si vous rencontrez des difficultés pour configurer votre compte, consultez les questions fréquentes et le dépannage pour les plates-formes Apple.

Bibliothèques disponibles

Cette section liste les produits Firebase compatibles avec les plates-formes Apple. En savoir plus sur ces bibliothèques de plate-forme Apple Firebase:

Service ou produit Pods Bibliothèques SwiftPM Google Analytics">Ajouter Analytics ?
AdMob pod 'Google-Mobile-Ads-SDK' N/A
Analytics pod 'FirebaseAnalytics' FirebaseAnalytics
App Check pod 'FirebaseAppCheck' FirebaseAppCheck
App Distribution pod 'FirebaseAppDistribution' FirebaseAppDistribution
Authentication pod 'FirebaseAuth' FirebaseAuth
Cloud Firestore pod 'FirebaseFirestore' FirebaseFirestore
Cloud Functions for Firebase Client SDK pod 'FirebaseFunctions' FirebaseFunctions
Cloud Messaging pod 'FirebaseMessaging' FirebaseMessaging
Cloud Storage pod 'FirebaseStorage' FirebaseStorage
Crashlytics pod 'FirebaseCrashlytics' FirebaseCrashlytics
Dynamic Links pod 'FirebaseDynamicLinks' FirebaseDynamicLinks
In-App Messaging pod 'FirebaseInAppMessaging' FirebaseInAppMessaging
(obligatoire)
Installations Firebase pod 'FirebaseInstallations' FirebaseInstallations
Firebase ML API de modèle personnalisé pod 'FirebaseMLModelDownloader' FirebaseMLModelDownloader
Performance Monitoring pod 'FirebasePerformance' FirebasePerformance
Realtime Database pod 'FirebaseDatabase' FirebaseDatabase
Remote Config pod 'FirebaseRemoteConfig' FirebaseRemoteConfig
Vertex AI in Firebase pod 'FirebaseVertexAI' FirebaseVertexAI

Intégrer sans utiliser Swift Package Manager

Si vous ne souhaitez pas utiliser Swift Package Manager, vous pouvez toujours profiter des SDK Firebase à l'aide de CocoaPods ou en important directement les frameworks.

CocoaPods

Pour en savoir plus sur l'intégration de CocoaPods, consultez notre guide.

Frameworks

En plus de la compatibilité avec la plate-forme iOS, le fichier ZIP inclut désormais des fichiers .xcframework. Pour en savoir plus, consultez le README du SDK Firebase pour les plates-formes Apple sur GitHub.

  1. Téléchargez le fichier ZIP du SDK du framework. Il s'agit d'un fichier d'environ 200 Mo qui peut prendre un certain temps à télécharger.

  2. Décompressez le fichier, puis intégrez les frameworks que vous souhaitez inclure dans votre application.

    Vous trouverez les instructions d'intégration dans les sections suivantes:

    Pour en savoir plus sur les versions ou les dépendances du framework, consultez le fichier METADATA.md dans la distribution ZIP téléchargée.

  3. Ajoutez l'indicateur d'éditeur de liens -ObjC dans votre Other Linker Settings dans les paramètres de compilation de votre cible.

Étapes suivantes

En savoir plus sur Firebase:

Ajoutez des services Firebase à votre application: