Понимание Firebase на платформах Apple

Разрабатывая приложение Apple с использованием Firebase, вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Цель этой страницы — ответить на эти вопросы или указать ресурсы, где можно узнать больше.

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

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

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

Библиотека iOS macOS Мак
Катализатор
ТВОС видениеOS WatchOS
A/B Testing
Analytics v8.9.0+ v8.9.0+ v8.9.0+
Analytics без идентификатора объявления v8.9.0+ v8.9.0+ v8.9.0+
Analytics конверсии на устройстве
App Check Поставщик DeviceCheck смотретьOS 9+
Поставщик сертификатов App Check iOS 14+ macOS 11+ Катализатор 14+ ТВОС 15+ смотретьOS 9+
App Check и поставщики отладки
App Distribution
Authentication частичный частичный частичный частичный частичный
Cloud Firestore Только исходные дистрибутивы
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Dynamic Links
Установки Firebase
Загрузчик моделей Firebase ML
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase iOS 15+ macOS 12+ Катализатор 15+ tvOS 15+ (только поддержка сообщества) смотретьOS 8+

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

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

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

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

GoogleService-Info.plist

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

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

Менеджер пакетов Swift

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

Расширения Swift

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

SwiftUI

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

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

Делегат приложений крутится

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

Четыре продукта Firebase используют функцию 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 и Realtime Database . Более подробную информацию о FirebaseUI смотрите на нашей странице GitHub .

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

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

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