Разрабатывая приложение Apple с использованием Firebase, вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Цель этой страницы — ответить на эти вопросы или указать ресурсы, где можно узнать больше.
Если у вас есть вопросы по теме, не затронутой на этой странице, посетите одно из наших онлайн-сообществ. Мы также будем периодически обновлять эту страницу новыми темами, поэтому заходите сюда, чтобы узнать, добавили ли мы тему, о которой вы хотите узнать!
Поддержка библиотеки Firebase по платформам
В следующей таблице описано, какие библиотеки Firebase совместимы с какими платформами Apple. На данный момент watchOS поддерживается только сообществом. Инструкции по установке и известные проблемы см. в репозитории Firebase SDK для платформ Apple на GitHub .
Библиотека | iOS | macOS | Мак Катализатор | ТВОС | WatchOS |
---|---|---|---|---|---|
А/Б-тестирование | |||||
Аналитика | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Аналитика без идентификатора объявления | v8.9.0+ | v8.9.0+ | v8.9.0+ | ||
Аналитика конверсии на устройстве | |||||
Проверка приложений Поставщик DeviceCheck | смотретьOS 9+ | ||||
Поставщик сертификатов приложений App Check | iOS 14+ | macOS 11+ | Катализатор 14+ | ТВОС 15+ | смотретьOS 9+ |
Проверка приложений и поставщики отладки | |||||
Распространение приложений | |||||
Аутентификация | частичный | частичный | частичный | частичный | |
Облачный пожарный магазин | |||||
Облачные функции | |||||
Облачный обмен сообщениями | |||||
Облачное хранилище | |||||
Крашлитикс | |||||
Динамические ссылки | |||||
Установки Firebase | |||||
Загрузчик моделей Firebase ML | |||||
Обмен сообщениями в приложении | |||||
Мониторинг производительности | |||||
База данных реального времени | |||||
Удаленная настройка |
Клипы приложений
Большинство библиотек 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, специфичные для языка.
Доступны следующие платформы расширений 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 должны отключить поворот из-за известной проблемы . Дополнительные сведения см. в разделе о переключении делегатов приложений .
Делегат приложений крутится
Firebase изменяет некоторые методы в классе делегата приложения вашего приложения, чтобы автоматически подключать определенные службы Firebase к обратным вызовам ОС, например FCM и токен APNs. Вы можете отключить поворот в своем приложении, добавив флаг FirebaseAppDelegateProxyEnabled
в файл Info.plist
приложения и установив для него значение NO
.
Четыре продукта Firebase используют функцию делегата приложений: аналитика, распространение приложений, аутентификация и 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. Более подробную информацию о FirebaseUI смотрите на нашей странице GitHub .
Примеры быстрого старта
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase для iOS. Эти краткие руководства можно найти в нашем общедоступном репозитории быстрых запусков Firebase GitHub.
Вы можете открыть каждое краткое руководство в Xcode, а затем запустить его на мобильном устройстве или в симуляторе. Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.