Добавьте Firebase в свой проект Apple

Предварительные условия

  • Установите следующее:

    • Xcode 15.2 или новее
  • Убедитесь, что ваш проект соответствует этим требованиям:

    • Ваш проект должен быть ориентирован на эти версии платформы или более поздние:
      • iOS 13
      • macOS 10.15
      • ТВОС 13
      • смотретьOS 7
  • Настройте физическое устройство Apple или используйте симулятор для запуска приложения.

Если у вас еще нет проекта Xcode и вы просто хотите опробовать продукт Firebase, вы можете загрузить один из наших примеров быстрого запуска .

Шаг 1. Создайте проект Firebase.

Прежде чем вы сможете добавить Firebase в свое приложение Apple, вам необходимо создать проект Firebase для подключения к вашему приложению. Посетите раздел «Понимание проектов Firebase», чтобы узнать больше о проектах Firebase.

Шаг 2. Зарегистрируйте свое приложение в Firebase.

Чтобы использовать Firebase в своем приложении Apple, вам необходимо зарегистрировать свое приложение в проекте Firebase. Регистрация вашего приложения часто называется «добавлением» вашего приложения в проект.

  1. Перейдите в консоль Firebase .

  2. В центре страницы обзора проекта щелкните значок iOS+ , чтобы запустить рабочий процесс установки.

    Если вы уже добавили приложение в свой проект Firebase, нажмите «Добавить приложение», чтобы отобразить параметры платформы.

  3. Введите идентификатор пакета вашего приложения в поле идентификатора пакета .

  4. (Необязательно) Введите другую информацию о приложении: псевдоним приложения и идентификатор App Store .

  5. Нажмите Зарегистрировать приложение .

Шаг 3. Добавьте файл конфигурации Firebase.

  1. Нажмите «Загрузить GoogleService-Info.plist» , чтобы получить файл конфигурации платформы Firebase Apple ( GoogleService-Info.plist ).

  2. Переместите файл конфигурации в корень вашего проекта Xcode. При появлении запроса выберите добавление файла конфигурации ко всем целевым объектам.

Если в вашем проекте есть несколько идентификаторов пакета, вы должны связать каждый идентификатор пакета с зарегистрированным приложением в консоли Firebase , чтобы каждое приложение могло иметь собственный файл GoogleService-Info.plist .

Шаг 4. Добавьте Firebase SDK в свое приложение.

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

  1. В Xcode, открыв проект приложения, выберите «Файл» > «Добавить пакеты» .
  2. При появлении запроса добавьте репозиторий Firebase SDK для платформ Apple:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Выберите версию SDK, которую вы хотите использовать.
  5. Выберите библиотеки Firebase, которые вы хотите использовать.

    Если Google Analytics включен в вашем проекте Firebase, обязательно добавьте FirebaseAnalytics . Для Analytics без возможности сбора IDFA вместо этого добавьте FirebaseAnalyticsWithoutAdId .

По завершении Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.

Шаг 5. Инициализируйте Firebase в своем приложении.

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

  1. Импортируйте модуль FirebaseCore в свой UIApplicationDelegate , а также любые другие модули Firebase, которые использует ваш делегат приложения. Например, чтобы использовать Cloud Firestore и Authentication :

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Быстрый

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Цель-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Настройте общий экземпляр FirebaseApp в методе application(_:didFinishLaunchingWithOptions:) делегата вашего приложения:

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Быстрый

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Цель-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. Если вы включили Firebase SDK для Google Analytics , вы можете запустить приложение, чтобы отправить на консоль Firebase подтверждение того, что вы успешно установили Firebase.

Вот и все! Вы можете перейти к следующим шагам .

Если у вас возникли проблемы с настройкой, посетите раздел «Устранение неполадок и часто задаваемые вопросы о платформах Apple» .

Доступные библиотеки

В этом разделе перечислены продукты Firebase, поддерживаемые для платформ Apple. Узнайте больше об этих библиотеках платформы Firebase Apple:

Услуга или продукт Стручки Библиотеки SwiftPM Google Analytics .">Добавить Analytics ?
AdMob pod 'Google-Mobile-Ads-SDK' Н/Д
Analytics pod 'FirebaseAnalytics' FirebaseAnalytics
App Check pod 'FirebaseAppCheck' FirebaseAppCheck
App Distribution pod 'FirebaseAppDistribution' FirebaseAppDistribution
Authentication pod 'FirebaseAuth' FirebaseAuth
Cloud Firestore pod 'FirebaseFirestore' FirebaseFirestore
Cloud Functions for Firebase Client SDK pod 'FirebaseFunctions' FirebaseFunctions
Cloud Messaging pod 'FirebaseMessaging' FirebaseMessaging
Cloud Storage pod 'FirebaseStorage' FirebaseStorage
Crashlytics pod 'FirebaseCrashlytics' FirebaseCrashlytics
Dynamic Links pod 'FirebaseDynamicLinks' FirebaseDynamicLinks
In-App Messaging pod 'FirebaseInAppMessaging' FirebaseInAppMessaging
(необходимый)
Установки Firebase pod 'FirebaseInstallations' FirebaseInstallations
API пользовательских моделей Firebase ML pod 'FirebaseMLModelDownloader' FirebaseMLModelDownloader
Performance Monitoring pod 'FirebasePerformance' FirebasePerformance
Realtime Database pod 'FirebaseDatabase' FirebaseDatabase
Remote Config pod 'FirebaseRemoteConfig' FirebaseRemoteConfig
Vertex AI in Firebase pod 'FirebaseVertexAI' FirebaseVertexAI

Интеграция без использования Swift Package Manager

Если вы не хотите использовать Swift Package Manager, вы все равно можете воспользоваться преимуществами Firebase SDK, используя CocoaPods или напрямую импортируя платформы.

Какао-стручки

Узнайте больше об интеграции CocoaPods в нашем руководстве .

Рамки

Помимо поддержки платформы iOS, zip-архив теперь включает файлы .xcframework . Подробности см. в README SDK Firebase Apple для платформ на GitHub .

  1. Загрузите zip-архив SDK фреймворка . Это файл размером около 200 МБ, загрузка которого может занять некоторое время.

  2. Разархивируйте файл, а затем интегрируйте платформы, которые вы хотите включить в свое приложение.

    Инструкции по интеграции можно найти в одном из следующих мест:

    Информацию о версиях платформы или зависимостях см. в файле METADATA.md в загруженном zip-дистрибутиве.

  3. Добавьте флаг компоновщика -ObjC в разделе Other Linker Settings в настройках сборки вашей цели.

Следующие шаги

Узнайте больше о Firebase:

Добавьте сервисы Firebase в свое приложение:

  • Получите представление о поведении пользователей с помощью Analytics .

  • Настройте аутентификацию пользователя с помощью Authentication .

  • Храните данные, например информацию о пользователях, с помощью Cloud Firestore или Realtime Database .

  • Храните файлы, например фотографии и видео, с помощью Cloud Storage .

  • Запускайте серверный код триггера, который работает в безопасной среде с помощью Cloud Functions .

  • Отправляйте уведомления с помощью Cloud Messaging .

  • Узнайте, когда и почему ваше приложение выходит из строя, с помощью Crashlytics .