Firebase на платформах Apple

При разработке приложения для Apple с помощью Firebase вы можете столкнуться с незнакомыми понятиями или концепциями, характерными для Firebase. На этой странице вы найдете ответы на них или ссылки на ресурсы с дополнительной информацией.

Если у вас есть вопросы, не затронутые на этой странице, посетите одно из наших интернет-сообществ. Мы будем периодически добавлять на эту страницу новые темы, поэтому заглядывайте сюда время от времени.

Поддержка библиотек Firebase на разных платформах

В таблице ниже показано, какие библиотеки Firebase совместимы с какими платформами Apple. В настоящее время visionOS и watchOS поддерживаются только сообществом. Инструкции по установке и список известных проблем можно найти в хранилище GitHub для Firebase SDK для платформ Apple.

Библиотека iOS MacOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 и более поздних версий; macOS 12 и более поздних версий; Catalyst 15+ tvOS 15 и более поздних версий (только поддержка сообщества) watchOS 8 или более поздней версии;
Analytics 8.9.0 и более поздние 8.9.0 и более поздние 8.9.0 и более поздние
Analytics без идентификатора объявления 8.9.0 и более поздние 8.9.0 и более поздние 8.9.0 и более поздние
Analytics конверсия на устройстве
App Check
Поставщик DeviceCheck
watchOS 9 и более поздних версий;
App Check
Поставщик App Attest
iOS 14 и более поздних версий; macOS 11 и более поздние версии Catalyst 14+ tvOS 15 и более поздних версий; watchOS 9 и более поздних версий;
App Check
собственные и отладочные поставщики
App Check
Поставщик reCAPTCHA
App Distribution
Authentication частично частично частично частично частично
Cloud Firestore Только дистрибутивы исходного кода
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Установка приложения "Firebase"
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
УСТАРЕВШИЕ ИЛИ НЕПОДДЕРЖИВАЕМЫЕ БИБЛИОТЕКИ
Dynamic Links
Загрузчик моделей Firebase ML

1 Firebase AI Logic ранее назывался Vertex AI in Firebase.

2 Firebase SQL Connect ранее назывался Firebase Data Connect.

Блиц-приложения

Большинство библиотек Firebase будут создаваться и запускаться в целевом объекте блиц-приложения, однако многие из них ограничены в результате ограничений базовой ОС. Известные проблемы:

  • Если пользователь нажмет на динамическую ссылку, не установив приложение, он не будет перенаправлен на блиц-приложение.
  • Firestore и Realtime Database не могут загружать данные в блиц-приложения из-за зависимости CFStream.

Полный список известных проблем с блиц-приложениями можно найти в репозитории Firebase на GitHub.

GoogleService-Info.plist

При добавлении Firebase в проект Apple вам нужно добавить в проект файл конфигурации GoogleService-Info.plist. Если вы хотите использовать несколько проектов Firebase в одном приложении, ознакомьтесь с документацией по настройке нескольких проектов.

Подробную информацию о процессе инициализации приложения Firebase можно найти в справочной документации по Swift.

Swift Package Manager

Подробнее об интеграции Swift Package Manager…

Расширения Swift

Расширения Swift для Firebase SDK для платформ Apple ранее были небольшими дополнениями с открытым исходным кодом к существующим библиотекам Firebase для платформ Apple, которые позволяли использовать в коде функции, специфичные для языка Swift. Эти API были добавлены непосредственно в основные библиотеки, и их не нужно включать отдельно. Если в вашей базе кода ранее был SDK расширения Swift, ознакомьтесь с руководством по переходу.

SwiftUI

Firebase полностью поддерживает SwiftUI, но настройка будет немного отличаться от приложений UIKit, чтобы Firebase правильно работал в среде SwiftUI. Подробную информацию вы найдете в записи в блоге, которую написал Питер Фриз (Peter Friese).

В приложениях SwiftUI необходимо отключить подмену методов из-за известной проблемы. Подробную информацию вы найдете в разделе Подмена делегата приложения.

Подмена делегата приложения

Firebase подменяет некоторые методы в классе делегата приложения, чтобы автоматически подключать определенные сервисы Firebase к обратным вызовам ОС, например FCM и токену APNs. Чтобы отключить подмену методов в приложении, добавьте в файл Info.plist флаг FirebaseAppDelegateProxyEnabled и задайте для него значение NO.

Подмену делегата приложения используют четыре продукта Firebase: Analytics, App Distribution, Authentication и FCM. Если вы отключили подмену методов в своем приложении и используете любой из перечисленных ниже продуктов, ознакомьтесь с руководством по этому продукту, чтобы узнать, как использовать его без подмены методов.

Поддержка iOS 14

В iOS 14 изменены разрешения пользователя, связанные с рекламным идентификатором. Чтобы узнать, затронут ли эти изменения ваше приложение, ознакомьтесь с руководством по подготовке к iOS 14.

Постоянная поддержка Objective-C

Чтобы упростить поддержку документации по платформам Apple, Firebase решила сосредоточиться на фрагментах кода Swift и примерах кода в наших руководствах и других материалах для разработчиков. С 1 января 2024 г. фрагменты кода Objective-C будут удалены из наших руководств. Мы продолжим поддерживать актуальную справочную документацию по Objective-C для всех продуктов Firebase.

Ресурсы с открытым исходным кодом для Firebase SDK для платформ Apple

Firebase поддерживает разработку ПО с открытым исходным кодом, и мы приветствуем вклад сообщества и отзывы.

Firebase SDK для платформ Apple

Все Firebase SDK для платформ Apple, кроме Analytics, разработаны как библиотеки с открытым исходным кодом в нашем общедоступном хранилище Firebase GitHub.

FirebaseUI

FirebaseUI – это набор служебных библиотек, созданных на основе Firebase, включая встроенный пользовательский интерфейс для аутентификации и утилиты данных для Cloud Firestore и Realtime Database. Подробную информацию о FirebaseUI можно найти на странице GitHub.

Примеры для быстрого старта

Firebase поддерживает коллекцию примеров быстрого запуска для большинства Firebase API на iOS. Эти руководства можно найти в нашем общедоступном хранилище руководств по началу работы с Firebase на GitHub.

Вы можете открыть каждый из них в Xcode, а затем запустить на мобильном устройстве или в симуляторе. Вы также можете использовать эти руководства в качестве примеров кода для Firebase SDK.