Перейти с CocoaPods

CocoaPods объявила , что в декабре 2026 года файлы станут доступны только для чтения, после чего публикация новых версий pod-ов станет невозможной. В следующих разделах представлена ​​более подробная информация об этом изменении и объясняется, как перенести ваши приложения в другие менеджеры установки.

Обзор

  • Что меняется? CocoaPods переходит в режим только для чтения, а Firebase прекратит публикацию новых версий CocoaPods в октябре 2026 года.
  • Перестанет ли работать мое приложение? Нет. Существующие версии библиотек Firebase останутся доступными неограниченное время в реестре CocoaPods, и ваши приложения, использующие эти версии CocoaPods, продолжат функционировать.
  • Зачем переходить на другую систему? Чтобы продолжать получать доступ к новейшим функциям, улучшениям производительности и важным исправлениям, вам следует перейти на Swift Package Manager или установить систему вручную .

В связи с объявлением CocoaPods, Firebase прекратит публикацию новых версий CocoaPods в октябре 2026 года . Эти изменения затрагивают все следующие модули и их зависимости:

Затронутые модули Firebase
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

Эти изменения также затронут все дистрибутивы Firebase, использующие нативный Firebase Apple SDK , включая Firebase Unity SDK , Firebase C++ SDK и FlutterFire .

Перенесите свои приложения Apple.

Если вы переносите другие (не относящиеся к Firebase) зависимости с CocoaPods, обратите внимание, что в отрасли рекомендуется использовать единый метод установки для всего проекта. Смешивание CocoaPods и Swift Package Manager (SPM) в рамках одной цели может привести к сложным циклам зависимостей и ошибкам сборки. Если ваши зависимости, не относящиеся к Firebase, еще не поддерживают SPM, использование ручной установки библиотек Firebase — наиболее стабильный способ оптимизировать рабочий процесс при миграции.

Swift Package Manager (SPM)

Что такое Swift Package Manager?

Swift Package Manager (SPM) — это встроенный инструмент Apple для управления распространением кода. Он интегрирован непосредственно в Xcode, что устраняет необходимость во внешних инструментах командной строки, таких как CocoaPods, и упрощает структуру проекта, исключая необходимость в файле .xcworkspace для большинства стандартных конфигураций.

Переход на использование Swift Package Manager

Для большинства проектов переход на Swift Package Manager не требует изменения кода приложения, за исключением случаев, когда в вашем проекте используются пользовательские конфигурации Xcode или зависимости, активно использующие скрипты установки CocoaPods.

Вот как перейти с CocoaPods на Swift Package Manager:

  1. Убедитесь, что каждая из зависимостей вашего приложения поддерживает Swift Package Manager. Все библиотеки Firebase поддерживают SPM, но вам нужно проверить поддержку SPM для ваших зависимостей, не относящихся к Firebase, в их репозиториях GitHub или на страницах продуктов. Если некоторые из ваших зависимостей, не относящихся к Firebase, не поддерживают SPM, то наиболее стабильным вариантом перехода с CocoaPods будет ручная установка вместо SPM.
  2. При закрытом Xcode удалите CocoaPods из своего проекта:
    • Удалите зависимости CocoaPods, выполнив следующую команду в каталоге вашего проекта:
      pod deintegrate
    • Удалите файл .xcworkspace , созданный CocoaPods.
  3. В Xcode обновите свой проект, добавив зависимости Swift Package Manager:
    • Откройте файл .xcodeproj вашего проекта через Xcode.
    • Повторно добавьте зависимости вашего приложения, используя меню Файл > Добавить зависимости пакета .
  4. После добавления пакета Firebase вы можете обновить зависимые от него библиотеки Firebase, перейдя в настройки проекта в Xcode, выбрав целевой объект приложения и обновив библиотеки в разделах «Фреймворки», «Библиотеки» и «Встроенный контент» . Подробнее об использовании SPM в Xcode можно узнать в документации Apple.

Ручная установка

Что такое ручная установка?

Ручная установка включает в себя загрузку архива Firebase.zip , который содержит предварительно скомпилированные XCFrameworks для всех продуктов Firebase. Это позволяет перетаскивать определенные SDK непосредственно в ваш проект Xcode без использования менеджера зависимостей.

Переход на ручную установку

  1. При закрытом Xcode удалите CocoaPods из своего проекта:
    • Удалите зависимости CocoaPods, выполнив следующую команду в каталоге вашего проекта:
      pod deintegrate
    • Удалите файл .xcworkspace , созданный CocoaPods.
  2. Чтобы добавить Firebase в свой проект вручную, следуйте инструкциям в нашем руководстве по установке .

Перенесите свои приложения, созданные на Unity, C++ и Flutter.

Firebase Unity SDK и FlutterFile

Большинству разработчиков Unity и Flutter никаких действий не требуется. Обновление Firebase до последней версии в Unity или Flutter автоматически перенесет ваш базовый менеджер зависимостей на платформах Apple на Swift Package Manager.

Обратите внимание, что если вы управляете зависимостями, не относящимися к Firebase, через CocoaPods, вам может потребоваться перенести их вручную.

Firebase C++ SDK

Если вы подключали базовые зависимости iOS через CocoaPods, вы можете следовать приведенным выше инструкциям по миграции, чтобы обновить зависимости Firebase CocoaPod и использовать Swift Package Manager вместо них.

Часто задаваемые вопросы

Мне нужно продолжать использовать CocoaPods после октября 2026 года. Как мне обеспечить бесперебойную работу моего приложения?

Вы можете либо использовать старые версии Firebase Pods, либо скопировать спецификации Firebase Podspecs с GitHub и разместить их в собственном репозитории спецификаций.

В любом случае, мы рекомендуем вам как можно скорее отказаться от CocoaPods . После прекращения поддержки CocoaPods в октябре 2026 года мы не будем оказывать официальную поддержку по установке Firebase непосредственно из podspec. Если вы решите размещать свои собственные podspec, вы будете нести ответственность за их актуальность.

Почему поддержка CocoaPods прекращается в октябре 2026 года, если публикация CocoaPods возможна до декабря 2026 года?

Мы выбрали октябрь, чтобы гарантировать стабильность финальных версий, опубликованных в CocoaPods, до блокировки реестра в декабре. Этот график обеспечивает необходимый запас времени для безопасной координации этих финальных обновлений и гарантирует, что кроссплатформенные SDK, которые зависят от нативного SDK, но имеют задержки в циклах выпуска, будут иметь достаточно времени для подготовки собственных релизов.

Перестанет ли работать мое приложение, если я его не обновлю?

Нет, это устаревание затронет только будущие версии библиотек Firebase. Существующие версии в CocoaPods останутся доступными для установки, и приложения, использующие эти версии pods, не будут затронуты.

Повлияет ли это на выставление счетов по проекту?

Нет.

После перехода на Swift Package Manager у меня возникает ошибка "FirebaseLibrary not found" при компиляции проекта. Как это исправить?

Убедитесь, что вы добавили пакет Firebase в свой проект Xcode.

При добавлении пакета Firebase Xcode предложит вам добавить фреймворки Firebase в цели сборки вашего приложения. Если вы забудете добавить фреймворк на этом этапе, вы всегда сможете добавить его позже в настройках цели в разделе «Этапы сборки» > «Связать двоичные файлы с библиотеками» . Если ваш проект содержит несколько целей, убедитесь, что Firebase добавлен в правильные цели.

Нарушит ли этот переход работу моих конвейеров CI/CD?

Нет, конвейеры, запускающие команды pod install или pod update будут продолжать работать с существующими версиями. Однако они не будут получать обновления библиотек Firebase, выпущенные после октября 2026 года.