Установка и настройка на платформах Apple

Firebase Realtime Database – это облачная база данных. Данные хранятся в формате JSON и синхронизируются в реальном времени со всеми подключенными клиентами. При создании кросс-платформенных приложений с помощью наших SDK для Android, iOS и JavaScript все клиенты используют один экземпляр Realtime Database и автоматически получают обновления с новыми данными.

Firebase Realtime Database доступен на всех платформах Apple, включая iOS, macOS, macOS Catalyst, tvOS и watchOS. Она недоступна для фрагментов приложений. В инструкциях по настройке на этой странице в примерах упоминается iOS, но они универсальны и подходят для любой целевой платформы Apple.

Требования

  1. Установите Firebase SDK.
  2. Добавьте приложение в проект Firebase в Firebase.

Как создать базу данных

  1. В консоли Firebase выберите Databases & Storage (Базы данных и хранилище) > Realtime Database (База данных реального времени).

  2. Нажмите Создать базу данных.

  3. Выберите режим запуска для Firebase Security Rules:

    Тестовый режим

    Подходит для начала работы с клиентскими библиотеками для мобильных устройств и сайтов, но позволяет любому пользователю читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом Общие сведения о правилах базы данных Firebase Realtime Database.

    Чтобы начать работу с веб-версией, Apple или Android SDK, выберите testmode.

    Режим блокировки

    Запрещает все операции чтения и записи для мобильных и веб-клиентов. Серверы аутентифицированных приложений по-прежнему смогут получать доступ к вашей базе данных.

  4. Выберите местоположение для базы данных.

    В зависимости от местоположения базы данных URL новой базы данных будет иметь один из следующих форматов:

    • DATABASE_NAME.firebaseio.com (для баз данных в us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (для баз данных в других местоположениях)

  5. Нажмите Готово.

При включении Realtime Database API также включается в Cloud API Manager.

Как добавить Firebase Realtime Database в приложение

Для установки зависимостей Firebase и управления ими используйте Swift Package Manager.

  1. Откройте проект приложения в Xcode и перейдите в меню File (Файл) > Add Packages (Добавить пакеты).
  2. Когда появится запрос, добавьте хранилище Firebase SDK для платформ Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Выберите библиотеку Realtime Database.
  5. Добавьте флаг -ObjC в раздел Other Linker Flags (Другие флаги компоновщика) в настройках сборки целевого объекта.
  6. После этого Xcode автоматически начнет распознавать и скачивать зависимости в фоновом режиме.

Настроить Realtime Database Security Rules

Realtime Database – это язык декларативных правил, который позволяет определять структуру данных, способ их индексации, а также время, когда данные можно считывать и записывать.

Настроить Firebase Realtime Database

Инициализировать Firebase нужно до того, как будет создана или использована любая ссылка на приложение Firebase. Если вы уже сделали это для другой функции Firebase, можете пропустить этот шаг.

  1. Импортируйте модуль FirebaseCore в UIApplicationDelegate, а также любые другие модули 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. Настройте общий экземпляр FirebaseApp в методе application(_:didFinishLaunchingWithOptions:) делегата приложения:

    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, вам нужно создать делегат приложения и прикрепить его к структуре App с помощью UIApplicationDelegateAdaptor или NSApplicationDelegateAdaptor. Также необходимо отключить подмену делегата приложения. Подробнее о 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];

Дальнейшие действия