При разработке приложения для 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 Model Downloader | ||||||
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, но для корректной работы в среде SwiftUI настройка будет немного отличаться от настройки приложений UIKit. Подробную информацию можно найти в записи в блоге Питера Фриза.
В приложениях SwiftUI необходимо отключить подмену методов из-за известной проблемы. Подробнее о подмене методов делегата приложения…
Подмена делегата приложения
Firebase перехватывает некоторые методы в классе делегата приложения, чтобы автоматически подключать определенные сервисы Firebase к обратным вызовам ОС, например FCM и токену APNs. Чтобы отключить подмену в приложении, добавьте флаг FirebaseAppDelegateProxyEnabled в файл Info.plist и задайте для него значение 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 есть коллекция примеров быстрого запуска для большинства API Firebase на iOS. Эти руководства можно найти в общедоступном хранилище на GitHub.
Каждый из них можно открыть в Xcode и запустить на мобильном устройстве или в симуляторе. Или вы можете использовать эти руководства в качестве примеров кода для работы с Firebase SDK.