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

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

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

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

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

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

1 Firebase AI Logic ранее назывался « Vertex AI in Firebase ».

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

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

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

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

GoogleService-Info.plist

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

Более подробную информацию о процессе инициализации приложения Firebase см. в справочной документации Swift .

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

Подробнее об интеграции Swift Package Manager читайте в нашем руководстве .

Расширения Swift

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

SwiftUI

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

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

Приложение делегата свизлинг

Firebase swizzles некоторые методы в классе делегата приложения вашего приложения для автоматического подключения определенных служб Firebase к обратным вызовам ОС, таким как FCM и токен APNs. Вы можете отключить 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, включая поток UI для аутентификации и утилит данных для Cloud Firestore и Realtime Database . Подробнее о FirebaseUI смотрите на нашей странице GitHub .

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

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

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