При разработке приложения Apple с использованием Firebase вы можете столкнуться с незнакомыми или специфическими для Firebase концепциями. Эта страница поможет вам ответить на эти вопросы или найти ресурсы для получения дополнительной информации.
Если у вас есть вопросы по теме, не затронутой на этой странице, посетите одно из наших онлайн-сообществ. Мы также будем периодически обновлять эту страницу новыми темами, так что проверяйте, не добавили ли мы интересующую вас тему!
Поддержка библиотеки Firebase на платформах
В таблице ниже описано, какие библиотеки Firebase совместимы с платформами Apple. В настоящее время visionOS и watchOS поддерживаются только сообществом. Инструкции по установке и информацию об известных проблемах см. в репозитории Firebase Apple Platforms SDK на GitHub.
Библиотека | iOS | macOS | Мак Катализатор | tvOS | visionOS | watchOS |
---|---|---|---|---|---|---|
A/B Testing | ||||||
Firebase AI Logic 1 | iOS 15+ | 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 | iOS 14+ | 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, однако многие из них ограничены из-за ограничений операционной системы. Известные проблемы включают:
- Динамические ссылки не могут перенаправить пользователей в 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
Расширения Swift для Firebase Apple Platform SDK ранее представляли собой небольшие надстройки с открытым исходным кодом для существующих библиотек Firebase Apple Platform, которые позволяют вашему коду использовать специфические для Swift функции. С тех пор эти API были добавлены непосредственно в основные библиотеки и не требуют отдельного подключения. Если ранее в вашей кодовой базе уже был Swift Extension SDK, см. инструкции по обновлению в руководстве по миграции .
SwiftUI
Firebase полностью поддерживает SwiftUI, хотя настройка будет немного отличаться от настроек приложений UIKit для корректной работы Firebase в полноценной среде SwiftUI. Подробнее см. в этой записи блога Питера Фриза.
В приложениях SwiftUI необходимо отключить функцию «swizzling» из-за известной проблемы . Подробнее см. в разделе «Swizzling» для делегатов приложений .
Приложение делегата свизлинг
Firebase использует свизлинг некоторых методов в классе делегата приложения вашего приложения для автоматического подключения определённых служб Firebase к обратным вызовам ОС, таким как FCM и токен APNs. Вы можете отключить свизлинг в своём приложении, добавив флаг 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 SDKs для платформы 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.