Установка и настройка на платформах 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.

    Чтобы начать работу с 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];

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