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

Предпосылки

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

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

    • Ваш проект должен быть ориентирован на эти версии платформы или более поздние версии:
      • iOS 11
      • макОС 10.13
      • твОС 12
      • смотретьОС 6
  • Настройте физическое устройство Apple или используйте симулятор для запуска своего приложения.

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

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

Прежде чем вы сможете добавить Firebase в свое приложение Apple, вам необходимо создать проект Firebase для подключения к вашему приложению. Посетите страницу Understand Firebase Projects , чтобы узнать больше о проектах 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. Добавьте SDK Firebase в свое приложение.

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

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

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

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

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

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

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

    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 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 . Вы также должны отключить swizzling делегата приложения. Дополнительные сведения см. в инструкциях 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 Добавить аналитику?
AdMob pod 'Google-Mobile-Ads-SDK' Н/Д
Аналитика pod 'FirebaseAnalytics' FirebaseAnalytics
Проверка приложения pod 'FirebaseAppCheck' FirebaseAppCheck
Распространение приложений pod 'FirebaseAppDistribution' FirebaseAppDistribution
Аутентификация pod 'FirebaseAuth' FirebaseAuth
Облако Firestore pod 'FirebaseFirestore' FirebaseFirestore
Облачные функции для Firebase Client SDK pod 'FirebaseFunctions' FirebaseFunctions
Облачный обмен сообщениями pod 'FirebaseMessaging' FirebaseMessaging
Облачное хранилище pod 'FirebaseStorage' FirebaseStorage
Crashlytics pod 'FirebaseCrashlytics' FirebaseCrashlytics
Динамические ссылки pod 'FirebaseDynamicLinks' FirebaseDynamicLinks
Обмен сообщениями в приложении pod 'FirebaseInAppMessaging' FirebaseInAppMessaging
(необходимый)
Установки Firebase pod 'FirebaseInstallations' FirebaseInstallations
API пользовательских моделей Firebase ML pod 'FirebaseMLModelDownloader' FirebaseMLModelDownloader
Мониторинг производительности pod 'FirebasePerformance' FirebasePerformance
База данных реального времени pod 'FirebaseDatabase' FirebaseDatabase
Удаленная конфигурация pod 'FirebaseRemoteConfig' FirebaseRemoteConfig

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

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

CocoaPods

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

Фреймворки

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

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

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

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

    Для получения информации о версиях или зависимостях фреймворка обратитесь к файлу METADATA.md в загруженном zip-архиве.

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

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

Узнайте о Firebase:

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

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

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

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

  • Храните файлы, например фотографии и видео, в облачном хранилище .

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

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

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