При разработке приложения Apple с помощью Firebase вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Эта страница предназначена для того, чтобы ответить на эти вопросы или указать ресурсы, чтобы узнать больше.
Если у вас есть вопросы по теме, не затронутой на этой странице, не стесняйтесь посетить одно из наших интернет-сообществ. Мы также будем периодически обновлять эту страницу новыми темами, поэтому проверяйте, добавили ли мы тему, о которой вы хотите узнать!
Поддержка библиотеки Firebase по платформам
В следующей таблице описано, какие библиотеки Firebase совместимы с какими платформами Apple. В настоящее время watchOS поддерживается только сообществом. Инструкции по установке и известные проблемы см. в репозитории SDK Firebase для платформ Apple на GitHub .
Библиотека | iOS | macOS | Мак Катализатор | твОС | watchOS |
---|---|---|---|---|---|
A/B-тестирование | |||||
Аналитика | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Аналитика без идентификатора объявления | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Аналитика конверсий на устройстве | |||||
Проверка приложений Поставщик DeviceCheck | watchOS 9+ | ||||
Провайдер App Check App Attest | iOS 14+ | макОС 11+ | Катализатор 14+ | ТВОС 15+ | watchOS 9+ |
App Check пользовательские и отладочные поставщики | |||||
Распространение приложений | |||||
Аутентификация | |||||
Облако Firestore | |||||
Облачные функции | |||||
Облачный обмен сообщениями | |||||
Облачное хранилище | |||||
Crashlytics | |||||
Динамические ссылки | |||||
Установки Firebase | |||||
Загрузчик моделей Firebase ML | |||||
Обмен сообщениями в приложении | |||||
Мониторинг производительности | |||||
База данных реального времени | |||||
Удаленная конфигурация |
Клипы приложений
Большинство библиотек Firebase будут создаваться и работать в цели App Clip, однако многие из них ограничены в результате ограничений базовой ОС. Известные проблемы включают в себя:
- Динамические ссылки не могут отправлять пользователей в App Clip, если они нажимают на ссылку без установленного приложения.
- База данных Firestore и Realtime не может загружать данные в App Clips из-за базовой зависимости CFStream.
Полный список известных проблем с App Clip см. в репозитории Firebase GitHub .
GoogleService-Info.plist
В рамках добавления Firebase в проект Apple вам необходимо добавить в проект файл конфигурации GoogleService-Info.plist
. Если вы хотите использовать несколько проектов Firebase в одном приложении, ознакомьтесь с документацией по настройке нескольких проектов .
См. справочную документацию Swift , чтобы более подробно узнать о процессе инициализации приложения Firebase.
Быстрый менеджер пакетов
Узнайте больше об интеграции Swift Package Manager в нашем руководстве .
Свифт-расширения
Расширения Firebase SDK для платформы Apple Swift — это небольшие надстройки с открытым исходным кодом к существующим библиотекам платформы Firebase Apple, которые позволяют вашему коду использовать функции Swift, зависящие от языка.
Доступны следующие фреймворки расширений Swift:
-
FirebaseAnalyticsSwift
-
FirebaseDatabaseSwift
-
FirebaseFirestoreSwift
-
FirebaseInAppMessagingSwift
(бета) -
FirebaseRemoteConfigSwift
Начиная с Firebase 9.0, некоторые библиотеки Firebase, включая их интерфейсы Objective-C, реализованы в Swift и предоставляют собственные функции Swift без включения вспомогательной зависимости. Следующие SDK предоставляют собственные API-интерфейсы Swift без использования SDK расширения:
-
FirebaseFunctions
-
FirebaseStorage
Вы можете установить расширения Swift либо с помощью CocoaPods, либо с помощью диспетчера пакетов Swift. Используя CocoaPods, чтобы установить расширение Swift, включите его в свой подфайл, как показано ниже.
pod 'FirebaseAnalyticsSwift', '~> 10.0'
pod 'FirebaseInAppMessagingSwift', '~> 10.0-beta'
pod 'FirebaseDatabaseSwift'
С помощью диспетчера пакетов Swift импортируйте нужные библиотеки расширений Swift непосредственно из того же репозитория, что и SDK Firebase для платформ Apple.
SwiftUI
Firebase полностью поддерживает SwiftUI, хотя настройка будет немного отличаться от приложений UIKit, чтобы Firebase правильно работал в полностью среде SwiftUI. Взгляните на этот пост в блоге Питера Фризе для получения более подробной информации.
Приложения SwiftUI должны отключать swizzling из-за известной проблемы . Дополнительные сведения см. в разделе о переключении делегатов приложений .
Делегаты приложений
Firebase использует некоторые методы в классе делегата вашего приложения для автоматического подключения определенных служб Firebase к обратным вызовам ОС, таким как FCM и токен APN. Вы можете отключить 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, включая встраиваемый поток пользовательского интерфейса для аутентификации и утилиты данных для Cloud Firestore и базы данных реального времени. Подробнее о FirebaseUI смотрите на нашей странице GitHub .
Примеры быстрого старта
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на iOS. Найдите эти краткие руководства в нашем общедоступном репозитории быстрого запуска Firebase на GitHub.
Вы можете открыть каждое краткое руководство в Xcode, а затем запустить его на мобильном устройстве или симуляторе. Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.