Этот репозиторий содержит исходный код для всех SDK Firebase платформы Apple, кроме FirebaseAnalytics.
Firebase — это платформа для разработки приложений с инструментами, которые помогут вам создавать, развивать и монетизировать ваше приложение. Более подробную информацию о Firebase можно найти на официальном сайте Firebase.
Подробную информацию о различных методах установки см. в подразделах ниже. Если возможно, рекомендуется установить любые библиотеки с суффиксом Swift
чтобы получить максимальную отдачу от написания приложения на Swift.
Стандартная установка модуля
Менеджер пакетов Swift
Установка из репозитория GitHub
Экспериментальный Карфаген
Инструкции по стандартной установке модуля см. на странице https://firebase.google.com/docs/ios/setup.
Инструкции по поддержке Swift Package Manager можно найти в файле SwiftPackageManager.md Markdown.
Эти инструкции можно использовать для доступа к репозиторию Firebase в других ветках, тегах или коммитах.
См. Справочник по синтаксису подфайлов для получения инструкций и опций по переопределению местоположения источника модуля.
Все официальные выпуски отмечены в этом репозитории и доступны через CocoaPods. Чтобы получить доступ к локальному снимку исходного кода или невыпущенной ветке, используйте директивы Podfile, подобные следующим:
Чтобы получить доступ к FirebaseFirestore через ветку:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'main'
Чтобы получить доступ к FirebaseMessaging через извлеченную версию репозитория firebase-ios-sdk:
pod 'FirebaseCore', :path => '/path/to/firebase-ios-sdk'pod 'FirebaseMessaging', :path => '/path/to/firebase-ios-sdk'
Инструкции по экспериментальному дистрибутиву Carthage можно найти на сайте Carthage.md.
Подробную информацию об использовании Firebase из платформы или библиотеки см. в firebase_in_libraries.md.
Чтобы разработать программное обеспечение Firebase в этом репозитории, убедитесь, что у вас есть как минимум следующее программное обеспечение:
Xcode 15.2 (или новее)
CocoaPods по-прежнему является каноническим способом разработки, но большая часть репозитория теперь поддерживает разработку с помощью Swift Package Manager.
Установите следующее:
CocoaPods 1.12.0 (или более поздняя версия)
CocoaPods генерирует
Для модуля, который вы хотите разработать:
pod gen Firebase{имя здесь}.podspec --local-sources=./ --auto-open --platforms=ios
Примечание. Если кеш CocoaPods устарел, возможно, вам придется запустить pod repo update
перед командой pod gen
.
Примечание. Установите для параметра --platforms
значение macos
или tvos
, чтобы разрабатывать/тестировать для этих платформ. Начиная с версии 10.2, Xcode неправильно обрабатывает многоплатформенные рабочие пространства CocoaPods.
У Firestore есть автономный проект Xcode. См. файл Markdown Firestore/README.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
Установите флажок Mac в настройках сборки App-iOS.
Подпишите приложение на вкладке «Подписание настроек и возможности».
Нажмите «Модули» в диспетчере проектов.
Добавьте подпись в хост-приложение iOS и целевые объекты модульного теста.
Выберите схему «Единица-единица»
Запустите его для сборки и тестирования
Альтернативно отключите вход в каждую цель:
Перейдите на вкладку «Настройки сборки».
Нажмите +
Выберите Add User-Defined Setting
Добавьте параметр CODE_SIGNING_REQUIRED
со значением NO
Чтобы включить схемы тестирования: ./scripts/setup_spm_tests.sh
open Package.swift
или дважды щелкните Package.swift
в Finder.
Xcode откроет проект
Выберите схему для сборки библиотеки или набора тестов для запуска.
Выберите целевую платформу, выбрав пункт назначения вместе со схемой.
Подробности см. в файле AddNewPod Markdown.
Сведения об управлении заголовками и импортом см. в файле HeadersImports Markdown.
Чтобы гарантировать единообразие форматирования кода, запустите сценарий ./scripts/check.sh перед созданием запроса на включение (PR).
GitHub Actions проверит, чтобы любые изменения кода вносились в соответствии со стилем. Установите clang-format
и mint
:
варить установку clang-format@19 варить установку мяты
Выберите схему и нажмите Command-u, чтобы создать компонент и запустить его модульные тесты.
Для запуска примеров приложений и интеграционных тестов вам понадобится действительный файл GoogleService-Info.plist
. Проект Firebase Xcode содержит фиктивные файлы plist без реальных значений, но их можно заменить реальными файлами plist. Чтобы получить собственные файлы GoogleService-Info.plist
:
Перейдите в консоль Firebase
Создайте новый проект Firebase, если у вас его еще нет.
Для каждого примера приложения, которое вы хотите протестировать, создайте новое приложение Firebase с идентификатором пакета примера приложения (например, com.google.Database-Example
).
Загрузите полученный файл GoogleService-Info.plist
и добавьте его в проект Xcode.
Инструкции по созданию отчета о покрытии см. в файле Markdown scripts/code_coverage_report/README.
В разделах ниже приведены специальные инструкции для этих компонентов.
Для конкретной разработки Firebase Auth обратитесь к README образца Auth для получения инструкций по созданию и запуску модуля FirebaseAuth, а также различных примеров и тестов.
Тесты интеграции базы данных Firebase можно запускать на локально работающем эмуляторе базы данных или на рабочем экземпляре.
Чтобы запустить локальный экземпляр эмулятора, вызовите ./scripts/run_database_emulator.sh start
перед запуском интеграционного теста.
Чтобы запустить рабочий экземпляр, укажите действительный GoogleServices-Info.plist
и скопируйте его в FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. Во время выполнения тестов ваше правило безопасности должно быть общедоступным.
Динамические ссылки Firebase устарели и не должны использоваться в новых проектах. Сервис будет закрыт 25 августа 2025 года.
Дополнительную информацию см. в документации по часто задаваемым вопросам об устаревших динамических ссылках.
Для конкретной разработки Firebase Performance Monitoring см. раздел Performance README с инструкциями по созданию SDK и файл README Performance TestApp с инструкциями по интеграции производительности с приложением dev test.
Чтобы запустить тесты интеграции хранилища, следуйте инструкциям в StorageIntegration.swift.
Push-уведомления могут доставляться только на специально предоставленные идентификаторы приложений на портале разработчика. Чтобы протестировать получение push-уведомлений, вам необходимо:
Измените идентификатор пакета примера приложения на тот, который принадлежит вам в вашей учетной записи разработчика Apple, и включите этот идентификатор приложения для push-уведомлений.
Вам также потребуется загрузить ключ или сертификат аутентификации поставщика APN в консоль Firebase в разделе «Настройки проекта» > «Облачные сообщения» > [Ваше приложение Firebase] .
Убедитесь, что ваше устройство iOS добавлено на портал разработчиков Apple в качестве тестового устройства.
iOS Simulator не может регистрироваться для удаленных уведомлений и не будет получать push-уведомления. Чтобы получать push-уведомления, выполните описанные выше действия и запустите приложение на физическом устройстве.
Инструкции по созданию и тестированию SDK см. в README Vertex AI для Firebase.
Firebase предоставляет официальную поддержку бета-версий для macOS, Catalyst и tvOS. VisionOS и watchOS поддерживаются сообществом. Спасибо сообществу за вклад многих мультиплатформенных PR.
В настоящее время большинство продуктов Firebase доступны на платформах Apple. Есть еще несколько пробелов, особенно в VisionOS и watchOS. Подробную информацию о текущей матрице поддержки см. в этой диаграмме в документации Firebase.
VisionOS, где это поддерживается, работает должным образом, за исключением Firestore через Swift Package Manager, где требуется использовать исходный дистрибутив.
Чтобы включить распространение исходного кода Firestore, закройте Xcode и откройте нужный проект из командной строки с переменной среды FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. Чтобы вернуться к использованию двоичного дистрибутива Firestore, закройте Xcode и откройте Xcode как обычно, без переменной среды.
Благодаря вкладу сообщества многие SDK Firebase теперь компилируются, запускают модульные тесты и работают на watchOS. См. пример приложения Independent Watch.
Имейте в виду, что watchOS официально не поддерживается Firebase. Хотя мы можем выявить основные проблемы модульного тестирования с помощью GitHub Actions, могут произойти некоторые изменения, из-за которых SDK больше не будет работать должным образом в watchOS. Если вы столкнулись с этим, пожалуйста, сообщите о проблеме.
Во время настройки приложения в консоли вы можете перейти к шагу, на котором упоминается что-то вроде «Проверка связи приложения с нашими серверами». Это зависит от Analytics и не будет работать на watchOS. Можно безопасно проигнорировать сообщение и продолжить , остальные SDK будут работать как положено.
watchOS имеет ограниченную поддержку. Из-за ограничений watchOS исключения Маха и сбои сигнала не фиксируются. (Сбои в SwiftUI генерируются как исключения, поэтому не будут записаны)
Благодаря вкладу сообщества FirebaseCombineSwift поддерживает платформу Apple Joint. Этот модуль в настоящее время находится в разработке и еще не поддерживается для использования в производственных средах. Для получения более подробной информации обратитесь к документации.
Дополнительную информацию о планах и направлениях Firebase Apple SDK с открытым исходным кодом см. в разделе «Дорожная карта».
Дополнительную информацию о вкладе в Firebase Apple SDK см. в разделе «Внесение вклада».
Содержимое этого репозитория лицензируется по лицензии Apache версии 2.0.
Использование вами Firebase регулируется Условиями использования сервисов Firebase.