При разработке приложения 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.