Installation et Configuration sur les plates-formes Apple
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Firebase Realtime Database est une base de données hébergée dans le cloud. Les données sont stockées au format JSON et synchronisées en temps réel avec chaque client connecté. Lorsque vous créez des applications multiplates-formes avec nos SDK Android, iOS et JavaScript, tous vos clients partagent une instance Realtime Database et reçoivent automatiquement les mises à jour avec les données les plus récentes.
Firebase Realtime Database est disponible sur toutes les plates-formes Apple, y compris iOS, macOS, macOS Catalyst, tvOS et watchOS. Elle n'est pas disponible pour les extraits d'application.
Les instructions de configuration de cette page font référence à iOS dans des exemples spécifiques, mais elles sont génériques et fonctionnent pour n'importe quelle plate-forme cible Apple.
Ajoutez votre application à votre projet Firebase dans la console Firebase.
Créer une base de données
Accédez à la section Realtime Database de la console Firebase.
Vous serez invité à sélectionner un projet Firebase existant.
Suivez le workflow de création de la base de données.
Sélectionnez un mode de départ pour votre Firebase Security Rules :
Mode test
Convient pour se familiariser avec les bibliothèques clientes mobiles et Web, mais permet à tout le monde de lire et d'écraser les données. Lorsque vous aurez terminé les tests, passez
en revue la section Comprendre les règles Firebase Realtime Database.
Pour commencer à utiliser le SDK Web, Apple ou Android, sélectionnez "testmode".
Mode verrouillé
Refuse tous les accès en lecture et en écriture des clients mobiles et Web.
Vos serveurs d'application authentifiés peuvent toujours accéder à votre base de données.
Choisissez un emplacement pour la base de données.
En fonction de l'emplacement de la base de données, l'URL de la nouvelle base de données se présentera sous l'une des formes suivantes :
DATABASE_NAME.firebaseio.com (pour les bases de données dans us-central1)
DATABASE_NAME.REGION.firebasedatabase.app
(pour les bases de données dans tous les autres emplacements)
Cliquez sur OK.
Lorsque vous activez Realtime Database, cela active également l'API dans Cloud API Manager.
Ajouter Firebase Realtime Database à votre application
Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.
Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Packages (Fichier > Ajouter des packages).
Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :
https://github.com/firebase/firebase-ios-sdk.git
Choisissez la bibliothèque Realtime Database.
Ajoutez l'indicateur -ObjC à la section Other Linker Flags (Autres indicateurs Linker) des paramètres de compilation de votre cible.
Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.
Configurer Realtime Database Security Rules
Les Realtime Database fournissent un langage de règles déclaratif qui vous permet de définir la structure de vos données, la façon dont elles doivent être indexées, et le moment où elles peuvent être lues et écrites.
Configurer Firebase Realtime Database
Vous devez initialiser Firebase avant de créer ou d'utiliser une référence d'application Firebase. Si vous l'avez déjà fait pour une autre fonctionnalité Firebase, vous pouvez ignorer cette étape.
Importez le module FirebaseCore dans votre UIApplicationDelegate, ainsi que tous les autres modules Firebase utilisés par le délégué de votre application.
Par exemple, pour utiliser Cloud Firestore et Authentication :
Configurez une instance partagée FirebaseApp dans la méthode application(_:didFinishLaunchingWithOptions:) du délégué de votre application :
SwiftUI
// Use Firebase library to configure APIsFirebaseApp.configure()
Swift
// Use Firebase library to configure APIsFirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs[FIRAppconfigure];
Si vous utilisez SwiftUI, vous devez créer un délégué d'application et l'associer à votre structure App via UIApplicationDelegateAdaptor ou NSApplicationDelegateAdaptor. Vous devez également désactiver le swizzling du délégué d'application. Pour en savoir plus, consultez les instructions SwiftUI.
SwiftUI
@mainstructYourApp:App{// register app delegate for Firebase setup@UIApplicationDelegateAdaptor(AppDelegate.self)vardelegatevarbody:someScene{WindowGroup{NavigationView{ContentView()}}}}
Créez une référence à votre base de données et spécifiez l'emplacement où vous souhaitez écrire.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 2025/08/29 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nThe Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON\nand synchronized in realtime to every connected client. When you build\ncross-platform apps with our Android, iOS, and JavaScript SDKs, all of your\nclients share one Realtime Database instance and automatically receive updates with\nthe newest data.\n\nFirebase Realtime Database is available on all Apple platforms, including iOS,\nmacOS, macOS Catalyst, tvOS, and watchOS. It is not available for App Clips.\nThe setup instructions in this page reference iOS in specific examples, but are\ngeneric and work for any Apple platform target.\n\nPrerequisites\n\n1. [Install the Firebase SDK](/docs/ios/setup).\n2. Add your app to your Firebase project in the [Firebase console](//console.firebase.google.com/).\n\nCreate a Database\n\n1. Navigate to the **Realtime Database** section of the\n [Firebase console](https://console.firebase.google.com/project/_/database).\n You'll be prompted to select an existing Firebase project.\n Follow the database creation workflow.\n\n2. Select a starting mode for your Firebase Security Rules:\n\n Test mode\n\n : Good for getting started with the mobile and web client libraries,\n but allows anyone to read and overwrite your data. After testing, **make\n sure to review the [Understand Firebase Realtime Database Rules](/docs/database/security)\n section.**\n\n :\n | **Note:** If you create a database in Test mode and make no changes to the default world-readable and world-writeable Rules within a trial period, you will be alerted by email, then your database rules will deny all requests. Note the expiration date during the Firebase console setup flow.\n\n : To get started with the web, Apple, or Android SDK, select testmode.\n\n Locked mode\n\n : Denies all reads and writes from mobile and web clients.\n Your authenticated application servers can still access your database.\n\n3. Choose a location for the database.\n\n Depending on the\n [location of the database](/docs/projects/locations#rtdb-locations), the\n URL for the new database will be in one of the following forms:\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.firebaseio.com` (for\n databases in `us-central1`)\n\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e`.firebasedatabase.app`\n (for databases in all other locations)\n\n4. Click **Done**.\n\nWhen you enable Realtime Database, it also enables the API in the\n[Cloud API Manager](https://console.cloud.google.com/projectselector/apis/api/firebasedatabase.googleapis.com/overview).\n\nAdd Firebase Realtime Database to your app\n\nUse Swift Package Manager to install and manage Firebase dependencies.\n| Visit [our installation guide](/docs/ios/installation-methods) to learn about the different ways you can add Firebase SDKs to your Apple project, including importing frameworks directly and using CocoaPods.\n\n1. In Xcode, with your app project open, navigate to **File \\\u003e Add Packages**.\n2. When prompted, add the Firebase Apple platforms SDK repository: \n\n```text\n https://github.com/firebase/firebase-ios-sdk.git\n```\n| **Note:** New projects should use the default (latest) SDK version, but you can choose an older version if needed.\n3. Choose the Realtime Database library.\n4. Add the `-ObjC` flag to the *Other Linker Flags* section of your target's build settings.\n5. When finished, Xcode will automatically begin resolving and downloading your dependencies in the background.\n\nConfigure Realtime Database Security Rules\n\nThe Realtime Database provides a declarative rules language that allows you to\ndefine how your data should be structured, how it should be indexed, and when\nyour data can be read from and written to.\n| **Note:** By default, read and write access to your database is restricted so only authenticated users can read or write data. To get started without setting up [Authentication](/docs/auth), you can [configure your rules for public access](/docs/rules/basics#default_rules_locked_mode). This does make your database open to anyone, even people not using your app, so be sure to restrict your database again when you set up authentication.\n\nSet up Firebase Realtime Database\n\nYou must initialize Firebase before any Firebase app reference is created or\nused. If you have already done this for another Firebase feature, you can skip\nthis step.\n\n1. Import the `FirebaseCore` module in your `UIApplicationDelegate`, as well as any other [Firebase modules](/docs/ios/setup#available-pods) your app delegate uses. For example, to use Cloud Firestore and Authentication: \n\n SwiftUI \n\n ```swift\n import SwiftUI\n import FirebaseCore\n import FirebaseFirestore\n import FirebaseAuth\n // ...\n \n ```\n\n Swift \n\n ```swift\n import FirebaseCore\n import FirebaseFirestore\n import FirebaseAuth\n // ...\n \n ```\n\n Objective-C \n\n ```objective-c\n @import FirebaseCore;\n @import FirebaseFirestore;\n @import FirebaseAuth;\n // ...\n \n ```\n2. Configure a [`FirebaseApp`](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseApp) shared instance in your app delegate's `application(_:didFinishLaunchingWithOptions:)` method: \n\n SwiftUI \n\n ```swift\n // Use Firebase library to configure APIs\n FirebaseApp.configure()\n ```\n\n Swift \n\n ```swift\n // Use Firebase library to configure APIs\n FirebaseApp.configure()\n ```\n\n Objective-C \n\n ```objective-c\n // Use Firebase library to configure APIs\n [FIRApp configure];\n ```\n3. If you're using SwiftUI, you must create an application delegate and attach it to your `App` struct via `UIApplicationDelegateAdaptor` or `NSApplicationDelegateAdaptor`. You must also disable app delegate swizzling. For more information, see the [SwiftUI instructions](/docs/ios/learn-more#swiftui). \n\n SwiftUI \n\n ```swift\n @main\n struct YourApp: App {\n // register app delegate for Firebase setup\n @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate\n\n var body: some Scene {\n WindowGroup {\n NavigationView {\n ContentView()\n }\n }\n }\n }\n \n ```\n4. Create a reference to your database and specify the location you want to write to. **Important** : To get a reference to a database other than a `us-central1` default database, you must pass the database URL to `database()` (or for Objective-C `databaseWithURL`). For a `us-central1` default database, you can call `database()` (or `database`) without arguments.\n |\n | You can find your Realtime Database URL in the *Realtime Database* section of the\n | [Firebase console](//console.firebase.google.com/). Depending on the\n | [location of the database](/docs/projects/locations#rtdb-locations),\n | the database URL will be in one of the following forms:\n | - `https://`\u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.firebaseio.com` (for databases in `us-central1`)\n | - `https://`\u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e`.firebasedatabase.app` (for databases in all other locations)\n\n Swift \n **Note:** This Firebase product is not available on the App Clip target. \n\n ```swift\n var ref: DatabaseReference!\n\n ref = Database.database().reference()\n ```\n\n Objective-C \n **Note:** This Firebase product is not available on the App Clip target. \n\n ```objective-c\n @property (strong, nonatomic) FIRDatabaseReference *ref;\n\n self.ref = [[FIRDatabase database] reference];\n ```\n\nNext Steps\n\n- Learn how to [structure data](/docs/database/ios/structure-data) for Realtime Database.\n\n- [Scale your data across multiple database\n instances.](/docs/database/usage/sharding)\n\n- [Read and write data.](/docs/database/ios/read-and-write)\n\n- [View your database in the\n Firebase console.](//console.firebase.google.com/project/_/database/data)\n\n- Prepare to launch your app:\n\n - Enable [App Check](/docs/app-check/ios) to help ensure that only your\n apps can access your databases.\n\n - Set up [budget\n alerts](/docs/projects/billing/avoid-surprise-bills#set-up-budget-alert-emails)\n for your project in the Google Cloud console.\n\n - Monitor the [*Usage and billing*\n dashboard](//console.firebase.google.com/project/_/usage)\n in the Firebase console to get an overall picture of your project's\n usage across multiple Firebase services.\n You can also visit the [Realtime Database *Usage*\n dashboard](//console.firebase.google.com/project/_/database/usage) for more\n detailed usage information.\n\n - Review the [Firebase launch checklist](/support/guides/launch-checklist)."]]