Catch up on highlights from Firebase at Google I/O 2023. Learn more

Узнайте больше о Firebase на платформах Apple

При разработке приложения Apple с помощью Firebase вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Эта страница предназначена для того, чтобы ответить на эти вопросы или указать ресурсы, чтобы узнать больше.

Если у вас есть вопросы по теме, не затронутой на этой странице, не стесняйтесь посетить одно из наших интернет-сообществ. Мы также будем периодически обновлять эту страницу новыми темами, поэтому проверяйте, добавили ли мы тему, о которой вы хотите узнать!

Поддержка библиотеки Firebase по платформам

В следующей таблице описано, какие библиотеки Firebase совместимы с какими платформами Apple. В настоящее время watchOS поддерживается только сообществом. Инструкции по установке и известные проблемы см. в репозитории SDK Firebase для платформ Apple на GitHub .

Библиотека iOS macOS Мак
Катализатор
твОС watchOS
A/B-тестирование
Аналитика v8.9.0+ v8.9.0+ v8.9.0+
Аналитика без идентификатора объявления v8.9.0+ v8.9.0+ v8.9.0+
Аналитика конверсий на устройстве
Проверка приложений Поставщик DeviceCheck watchOS 9+
Провайдер App Check App Attest iOS 14+ макОС 11+ Катализатор 14+ ТВОС 15+ watchOS 9+
App Check пользовательские и отладочные поставщики
Распространение приложений
Аутентификация
Облако Firestore
Облачные функции
Облачный обмен сообщениями
Облачное хранилище
Crashlytics
Динамические ссылки
Установки Firebase
Загрузчик моделей Firebase ML
Обмен сообщениями в приложении
Мониторинг производительности
База данных реального времени
Удаленная конфигурация

Клипы приложений

Большинство библиотек Firebase будут создаваться и работать в цели App Clip, однако многие из них ограничены в результате ограничений базовой ОС. Известные проблемы включают в себя:

  • Динамические ссылки не могут отправлять пользователей в App Clip, если они нажимают на ссылку без установленного приложения.
  • База данных Firestore и Realtime не может загружать данные в App Clips из-за базовой зависимости CFStream.

Полный список известных проблем с App Clip см. в репозитории Firebase GitHub .

GoogleService-Info.plist

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

См. справочную документацию Swift , чтобы более подробно узнать о процессе инициализации приложения Firebase.

Быстрый менеджер пакетов

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

Свифт-расширения

Расширения Firebase SDK для платформы Apple Swift — это небольшие надстройки с открытым исходным кодом к существующим библиотекам платформы Firebase Apple, которые позволяют вашему коду использовать функции Swift, зависящие от языка.

Доступны следующие фреймворки расширений Swift:

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift (бета)
  • FirebaseRemoteConfigSwift

Начиная с Firebase 9.0, некоторые библиотеки Firebase, включая их интерфейсы Objective-C, реализованы в Swift и предоставляют собственные функции Swift без включения вспомогательной зависимости. Следующие SDK предоставляют собственные API-интерфейсы Swift без использования SDK расширения:

  • FirebaseFunctions
  • FirebaseStorage

Вы можете установить расширения Swift либо с помощью CocoaPods, либо с помощью диспетчера пакетов Swift. Используя CocoaPods, чтобы установить расширение Swift, включите его в свой подфайл, как показано ниже.

pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'

С помощью диспетчера пакетов Swift импортируйте нужные библиотеки расширений Swift непосредственно из того же репозитория, что и SDK Firebase для платформ Apple.

SwiftUI

Firebase полностью поддерживает SwiftUI, хотя настройка будет немного отличаться от приложений UIKit, чтобы Firebase правильно работал в полностью среде SwiftUI. Взгляните на этот пост в блоге Питера Фризе для получения более подробной информации.

Приложения SwiftUI должны отключать swizzling из-за известной проблемы . Дополнительные сведения см. в разделе о переключении делегатов приложений .

Делегаты приложений

Firebase использует некоторые методы в классе делегата вашего приложения для автоматического подключения определенных служб Firebase к обратным вызовам ОС, таким как FCM и токен APN. Вы можете отключить swizzling в своем приложении, добавив флаг FirebaseAppDelegateProxyEnabled в файл Info.plist приложения и установив для него значение NO .

Четыре продукта Firebase используют swizzling App Delegate: Analytics, App Distribution, Authentication и FCM. Если вы отключили swizzling в своем приложении и используете какой-либо из следующих продуктов, обратитесь к руководству по конкретному продукту, чтобы узнать, как использовать продукт без swizzling:

Поддержка iOS 14

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

Постоянная поддержка Objective-C

Чтобы упростить обслуживание документации по платформам Apple, Firebase решила сосредоточиться на фрагментах и ​​примерах кода Swift в наших руководствах и других материалах для разработчиков. Фрагменты Objective-C будут удалены из наших руководств с 1 января 2024 года. Мы продолжим обновлять справочную документацию по Objective-C для всех продуктов Firebase.

Ресурсы с открытым исходным кодом для Firebase SDK платформы Apple

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

SDK для платформы Firebase Apple

Все Firebase SDK для платформ Apple, кроме Analytics, разрабатываются как библиотеки с открытым исходным кодом в нашем общедоступном репозитории Firebase GitHub .

FirebaseUI

FirebaseUI — это набор служебных библиотек, созданных на основе Firebase, включая встраиваемый поток пользовательского интерфейса для аутентификации и утилиты данных для Cloud Firestore и базы данных реального времени. Подробнее о FirebaseUI смотрите на нашей странице GitHub .

Примеры быстрого старта

Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на iOS. Найдите эти краткие руководства в нашем общедоступном репозитории быстрого запуска Firebase на GitHub.

Вы можете открыть каждое краткое руководство в Xcode, а затем запустить его на мобильном устройстве или симуляторе. Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.