Установка и настройка на платформах 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. Нажмите Create database (Создать базу данных).

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

    Режим тестирования

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

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

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

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

  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 недоступна для блиц-приложений.
    var ref: DatabaseReference!
    
    ref = Database.database().reference()

    Objective-C

    Примечание. Эта функция Firebase недоступна для блиц-приложений.
    @property (strong, nonatomic) FIRDatabaseReference *ref;
    
    self.ref = [[FIRDatabase database] reference];

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