Как перейти с CocoaPods

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

Обзор

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

В связи с этим заявлением 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, то установка вручную вместо SPM – самый стабильный способ перехода с CocoaPods.
  2. Закройте Xcode и удалите CocoaPods из проекта:
    1. Удалите зависимости CocoaPods, выполнив следующую команду в каталоге проекта:
      pod deintegrate
    2. Удалите файл .xcworkspace, созданный CocoaPods.
  3. В Xcode обновите проект с помощью зависимостей Swift Package Manager:
    1. Откройте файл .xcodeproj проекта в Xcode.
    2. Заново добавьте зависимости приложения, выбрав File (Файл) > Add Package Dependencies (Добавить зависимости пакетов).
  4. После добавления пакета Firebase вы можете обновить библиотеки Firebase, от которых зависит ваш проект. Для этого перейдите к настройкам проекта в Xcode, выберите целевое приложение и обновите библиотеки в разделе Frameworks, Libraries, and Embedded Content (Фреймворки, библиотеки и встроенный контент).

Подробнее о том, как использовать SPM в Xcode, можно узнать из документации Apple.

в целевых объектах сборки приложения добавлены нужные библиотеки.

Установка вручную

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

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

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

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

Как перенести приложения Unity, C++ и Flutter

Firebase Unity SDK и FlutterFire

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

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

Firebase C++ SDK

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

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

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

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

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

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

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

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

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

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

Нет.

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

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

При добавлении пакета Firebase Xcode предложит вам добавить фреймворки Firebase в целевые сборки приложения. Если вы забудете добавить фреймворк на этом этапе, вы всегда сможете сделать это позже в настройках целевого объекта в разделе Build Phases > Link Binary with Libraries. Если в вашем проекте несколько целей, убедитесь, что Firebase добавлен в нужные.

Повлияет ли переход на мои конвейеры CI/CD?

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