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

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

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

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

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

Библиотека iOS MacOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 и более поздних версий; macOS 12 и более поздних версий; Catalyst 15+ tvOS 15 и более поздних версий (только поддержка сообщества) watchOS 8 или более поздней версии;
Analytics 8.9.0 и более поздние 8.9.0 и более поздние 8.9.0 и более поздние
Analytics без идентификатора объявления 8.9.0 и более поздние 8.9.0 и более поздние 8.9.0 и более поздние
Analytics конверсия на устройстве
App Check
Поставщик DeviceCheck
watchOS 9 и более поздних версий;
App Check
Поставщик App Attest
iOS 14 и более поздних версий; macOS 11 и более поздние версии; Catalyst 14+ tvOS 15 и более поздних версий; watchOS 9 и более поздних версий;
App Check
собственные и отладочные поставщики
App Check
Поставщик reCAPTCHA
App Distribution
Authentication частично частично частично частично частично
Cloud Firestore Только дистрибутивы исходного кода
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Firebase установок
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
УСТАРЕВШИЕ ИЛИ НЕПОДДЕРЖИВАЕМЫЕ БИБЛИОТЕКИ
Dynamic Links
Загрузчик моделей Firebase ML

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

2 Firebase SQL Connect ранее назывался Firebase Data Connect.

Блиц-приложения

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

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

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

GoogleService-Info.plist

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

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

Swift Package Manager

Подробнее об интеграции Swift Package Manager…

Расширения Swift

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

SwiftUI

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

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

Подмена делегата приложения

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

Подмену делегата приложения используют четыре продукта Firebase: Analytics, App Distribution, Authentication и FCM. Если вы отключили подмену методов в приложении и используете любой из перечисленных ниже продуктов, ознакомьтесь с руководством по этому продукту, чтобы узнать, как использовать его без подмены методов.

Поддержка iOS 14

В iOS 14 изменены разрешения пользователя, связанные с рекламным идентификатором. Чтобы узнать, затронут ли эти изменения ваше приложение, ознакомьтесь с руководством по подготовке к iOS 14.

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

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

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

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

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

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

FirebaseUI

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

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

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

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