Разрабатывая приложение Apple с использованием Firebase, вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Цель этой страницы — ответить на эти вопросы или указать ресурсы, где можно узнать больше.
Если у вас есть вопросы по теме, не затронутой на этой странице, посетите одно из наших онлайн-сообществ. Мы также будем периодически обновлять эту страницу новыми темами, поэтому заходите сюда, чтобы узнать, добавили ли мы тему, о которой вы хотите узнать!
Поддержка библиотеки Firebase по платформам
В следующей таблице описано, какие библиотеки Firebase совместимы с какими платформами Apple. На данный момент VisionOS и watchOS поддерживаются только сообществом. Инструкции по установке и известные проблемы см. в репозитории Firebase SDK для платформ Apple на GitHub.
Библиотека | iOS | macOS | Мак Катализатор | ТВОС | видениеOS | WatchOS |
---|---|---|---|---|---|---|
A/B Testing | ||||||
Analytics | v8.9.0+ | v8.9.0+ | v8.9.0+ | |||
Analytics без идентификатора объявления | v8.9.0+ | v8.9.0+ | v8.9.0+ | |||
Analytics конверсии на устройстве | ||||||
App Check Поставщик DeviceCheck | смотретьOS 9+ | |||||
Поставщик сертификатов App Check | iOS 14+ | macOS 11+ | Катализатор 14+ | ТВОС 15+ | смотретьOS 9+ | |
App Check и поставщики отладки | ||||||
App Distribution | ||||||
Authentication | частичный | частичный | частичный | частичный | частичный | |
Cloud Firestore | Только исходные дистрибутивы | |||||
Cloud Functions | ||||||
Cloud Messaging | ||||||
Cloud Storage | ||||||
Crashlytics | ||||||
Dynamic Links | ||||||
Установки Firebase | ||||||
Загрузчик моделей Firebase ML | ||||||
In-App Messaging | ||||||
Performance Monitoring | ||||||
Realtime Database | ||||||
Remote Config | ||||||
Vertex AI in Firebase | iOS 15+ | macOS 12+ | Катализатор 15+ | tvOS 15+ (только поддержка сообщества) | смотретьOS 8+ |
Клипы приложений
Большинство библиотек Firebase будут создаваться и работать в цели App Clip, однако многие из них ограничены из-за ограничений базовой ОС. Известные проблемы включают в себя:
- Динамические ссылки не могут перенаправлять пользователей к клипу приложения, если они нажимают ссылку без установленного приложения.
- База данных Firestore и Realtime не может загружать данные в клипы приложений из-за базовой зависимости CFStream.
Полный список известных проблем App Clip см. в репозитории Firebase GitHub .
GoogleService-Info.plist
В рамках добавления Firebase в ваш проект Apple вам необходимо добавить в свой проект файл конфигурации GoogleService-Info.plist
. Если вы хотите использовать несколько проектов Firebase в одном приложении, посетите документацию по настройке нескольких проектов .
См. справочную документацию Swift , чтобы узнать более подробно о процессе инициализации приложения Firebase.
Менеджер пакетов Swift
Узнайте больше об интеграции Swift Package Manager в нашем руководстве .
Расширения Swift
Расширения SDK Swift для платформы Firebase Apple раньше представляли собой небольшие дополнения с открытым исходным кодом к существующим библиотекам платформы Firebase Apple, которые позволяют вашему коду использовать функции Swift, специфичные для языка. С тех пор эти API были добавлены непосредственно в основные библиотеки, и их не нужно включать отдельно. Если раньше в вашей кодовой базе был SDK расширения Swift, инструкции по обновлению см . в руководстве по миграции .
SwiftUI
Firebase полностью поддерживает SwiftUI, хотя настройка будет немного отличаться от настроек приложений UIKit, чтобы Firebase могла правильно работать в среде, полностью поддерживающей SwiftUI. Более подробную информацию можно найти в этой записи в блоге Питера Фризе.
Приложения SwiftUI должны отключить поворот из-за известной проблемы . Дополнительные сведения см. в разделе «Перемещение делегата приложения» .
Делегат приложений крутится
Firebase изменяет некоторые методы в классе делегата приложения вашего приложения, чтобы автоматически подключать определенные службы Firebase к обратным вызовам ОС, таким как FCM и токен APNs. Вы можете отключить поворот в своем приложении, добавив флаг FirebaseAppDelegateProxyEnabled
в файл Info.plist
приложения и установив для него значение NO
.
Четыре продукта Firebase используют функцию 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, включая встроенный интерфейс пользовательского интерфейса для аутентификации и утилит данных для Cloud Firestore и Realtime Database . Более подробную информацию о FirebaseUI смотрите на нашей странице GitHub .
Примеры быстрого старта
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase для iOS. Эти краткие руководства можно найти в нашем общедоступном репозитории быстрых запусков Firebase GitHub.
Вы можете открыть каждое краткое руководство в Xcode, а затем запустить его на мобильном устройстве или в симуляторе. Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.