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

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

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

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

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

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

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

Большинство библиотек 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 используют функцию делегата приложений: аналитика, распространение приложений, аутентификация и 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.