При разработке приложения для 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 Model Downloader | ||||||
| In-App Messaging | ||||||
| Performance Monitoring | ||||||
| Realtime Database | ||||||
| Remote Config |
1. Ранее Firebase AI Logic назывался " Vertex AI in Firebase ".
App Clips
Большинство библиотек 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 Package Manager
Подробнее об интеграции Swift Package Manager можно узнать в нашем руководстве .
Расширения Swift
Расширения Swift для Firebase Apple Platform SDK ранее представляли собой небольшие дополнения с открытым исходным кодом к существующим библиотекам Firebase Apple Platform, позволяющие вашему коду использовать специфические для языка функции Swift. С тех пор эти API были добавлены непосредственно в основные библиотеки и не требуют отдельного включения. Если у вас ранее был SDK расширения Swift в вашем коде, см. руководство по миграции для получения инструкций по обновлению.
SwiftUI
Firebase полностью поддерживает SwiftUI, хотя настройка будет немного отличаться от приложений UIKit, чтобы Firebase корректно функционировал в среде, полностью использующей SwiftUI. Подробнее можно узнать в этой статье Питера Фризе.
Приложения SwiftUI должны отключать подмену делегатов из-за известной проблемы . Подробнее см. раздел о подмене делегатов приложений .
Подмена делегатов приложений
Firebase использует подмену методов в классе делегата приложения для автоматического подключения определенных сервисов Firebase к обратным вызовам операционной системы, таким как FCM и токен APNs. Вы можете отключить подмену методов в своем приложении, добавив флаг FirebaseAppDelegateProxyEnabled в файл Info.plist приложения и установив для него значение NO .
Четыре продукта Firebase используют механизм подмены делегатов приложений (App Delegate swizzling): Analytics , App Distribution , Authentication и FCM . Если вы отключили подмену делегатов в своем приложении и используете какой-либо из следующих продуктов, обратитесь к руководству по конкретному продукту, чтобы узнать, как использовать его без подмены делегатов:
Поддержка iOS 14
В iOS 14 внесены изменения в права доступа пользователей к рекламному идентификатору. Подробнее о том, может ли ваше приложение быть затронуто этими изменениями, см. в руководстве по подготовке к iOS 14.
Постоянная поддержка Objective-C
Для упрощения поддержки документации по нашим платформам Apple, Firebase решила сосредоточиться на фрагментах кода и примерах кода на Swift в наших руководствах и других материалах для разработчиков. Фрагменты кода на Objective-C будут удалены из наших руководств начиная с 1 января 2024 года. Мы продолжим поддерживать актуальную справочную документацию по Objective-C для всех продуктов Firebase.
Ресурсы с открытым исходным кодом для SDK платформы Firebase Apple
Firebase поддерживает разработку программного обеспечения с открытым исходным кодом, и мы приветствуем вклад и обратную связь от сообщества.
Firebase — комплекты разработки для платформы Apple.
Все SDK Firebase для платформ Apple, за исключением Analytics разрабатываются как библиотеки с открытым исходным кодом в нашем общедоступном репозитории Firebase на GitHub .
FirebaseUI
FirebaseUI — это набор вспомогательных библиотек, созданных на основе Firebase, включая готовый интерфейс для аутентификации и работы с данными в Cloud Firestore и Realtime Database . Подробнее о FirebaseUI можно узнать на нашей странице GitHub .
Примеры для быстрого старта
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на iOS. Эти примеры можно найти в нашем общедоступном репозитории быстрого запуска Firebase на GitHub.
Каждый из этих примеров быстрого запуска можно открыть в Xcode, а затем запустить на мобильном устройстве или симуляторе. Или же вы можете использовать эти примеры кода для работы с SDK Firebase.