При разработке приложения 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 были добавлены непосредственно в основные библиотеки, и их не нужно включать отдельно. Если в вашей базе кода ранее было расширение Swift SDK, ознакомьтесь с руководством по переходу.
SwiftUI
Firebase полностью поддерживает SwiftUI, но для правильной работы в среде SwiftUI настройка будет немного отличаться от приложений UIKit. Подробную информацию вы найдете в записи блога, которую написал Питер Фриз (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 и примерах кода в наших руководствах и других материалах для разработчиков. Фрагменты кода Objective-C будут удалены из наших руководств с 1 января 2024 г. Мы продолжим поддерживать актуальную справочную документацию по 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.