安装和设置(Apple 平台)

Firebase 实时数据库是一种托管在云端的数据库。数据以 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 安全规则选择一个初始模式:

    测试模式

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

    如果是刚开始使用 Web、Apple 或 Android SDK,请选择测试模式。

    锁定模式

    拒绝来自移动和 Web 客户端的所有读写操作。经过身份验证的应用服务器仍然可以访问您的数据库。

  3. 为数据库选择位置。

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

    • DATABASE_NAME.firebaseio.com(位于 us-central1 的数据库)

    • DATABASE_NAME.REGION.firebasedatabase.app(位于所有其他位置的数据库)

  4. 点击完成

如果启用 Realtime Database,也就在 Cloud API 管理器中启用了相应 API。

将 Firebase Realtime Database 添加至您的应用

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

  1. 在 Xcode 中打开您的应用项目,依次点击 File(文件)> Add Packages(添加软件包)
  2. 出现提示时,添加 Firebase Apple 平台 SDK 代码库:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. 选择 Realtime Database 库。
  5. 完成之后,Xcode 将会自动开始在后台解析和下载您的依赖项。

配置 Realtime Database 安全规则

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,则必须创建应用委托并通过 UIApplicationDelegateAdaptorNSApplicationDelegateAdaptor 将其附加到 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];

后续步骤