iOS+·iOS+·开始使用

Firebase Realtime Database 是一种托管在云端的数据库。数据以 JSON 格式存储并实时同步到所连接的每个客户端。当您使用我们的 Android、iOS 和 JavaScript SDK 构建跨平台应用时,所有客户端都共享一个 Realtime Database 实例并自动接收包含最新数据的更新。

Firebase Realtime Database 适用于所有 Apple 平台,包括 iOS、macOS、macOS Catalyst、tvOS 和 watchOS。它不适用于轻 App (App Clip)。虽然本页具体示例中的设置说明提及的均为 iOS,但这些说明是通用的,适用于所有 Apple 目标平台。

前提条件

  1. 安装 Firebase SDK。
  2. 在 Firebase 控制台中将您的应用添加到您的 Firebase 项目。

创建数据库

  1. 前往 Firebase 控制台的 Realtime Database 部分。系统将会提示您选择一个现有的 Firebase 项目。按照数据库创建工作流操作。
  2. 为您的 Firebase Security Rules选择一个初始模式:

测试模式 : 此模式适合刚开始使用移动和 Web 客户端库的开发者,但会允许任何人读取和覆盖您的数据。测试完成后,请务必查看了解 Firebase Realtime Database 规则部分。 : 如果是刚开始使用 Web、Apple 或 Android SDK,请选择测试模式。

锁定模式 : 拒绝来自移动和 Web 客户端的所有读写操作。经过身份验证的应用服务器仍然可以访问您的数据库。 3. 为数据库选择位置。

新数据库的网址将采用下列格式之一,具体取决于数据库的位置:

  • DATABASE_NAME.firebaseio.com(位于 us-central1 的数据库)
  • DATABASE_NAME.REGION.firebasedatabase.app(位于所有其他位置的数据库)
  • 点击完成。

启用 Realtime Database 时,也会在 Cloud API 管理器中启用相应 API。

将 Firebase Realtime Database 添加到您的应用

使用 Swift Package Manager 安装和管理 Firebase 依赖项。

  1. 在 Xcode 中打开您的应用项目,依次点击 File(文件)> Add Packages(添加软件包)。
  2. 出现提示时,添加 Firebase Apple 平台 SDK 代码库:
  https://github.com/firebase/firebase-ios-sdk.git
  1. 选择 Realtime Database 库。
  2. 将 -ObjC 标志添加到目标 build 设置的“其他链接器标志”部分。
  3. 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。

配置 Realtime Database Security Rules

Realtime Database 提供了声明式规则语言,可用于定义数据的结构、将数据编入索引的方式,以及何时可以在其中读取和写入数据。

设置 Firebase Realtime Database

您必须先初始化 Firebase,然后才能创建或使用 Firebase 应用引用 (reference)。如果您已为其他 Firebase 功能执行此操作,可以忽略此步骤。

  1. 在 UIApplicationDelegate 中导入 FirebaseCore 模块,以及您的应用委托 (app delegate) 使用的所有其他 Firebase 模块。 例如,使用 Cloud Firestore 和 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. 在应用委托的 application(_:didFinishLaunchingWithOptions:) 方法中配置一个 FirebaseApp 共享实例:

#### 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. 如果您使用的是 SwiftUI,则必须创建应用委托并通过 UIApplicationDelegateAdaptor 或 NSApplicationDelegateAdaptor 将其附加到 App 结构体。您还必须停用应用委托调配。如需了解详情,请参阅 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. 创建对您数据库的引用并指定要写入数据的位置。

### Swift

注意:此 Firebase 产品不适用于 App Clip 目标。

``` var ref: DatabaseReference!

ref = Database.database().reference() ```

### Objective-C

注意:此 Firebase 产品不适用于 App Clip 目标。

``` @property (strong, nonatomic) FIRDatabaseReference *ref;

self.ref = [[FIRDatabase database] reference]; ```

后续步骤