Разработчики CocoaPods объявили, что в декабре 2026 года этот менеджер зависимостей перейдет в режим "только для чтения", после чего публиковать новые версии подов будет нельзя. Ниже вы найдете дополнительную информацию об этом изменении и о том, как перенести приложения в другие менеджеры установки.
Обзор
- Что изменится CocoaPods переходит в режим "только для чтения". Firebase 12 – последняя основная версия, опубликованная в CocoaPods. Firebase прекратит публиковать новые версии в CocoaPods в октябре 2026 г.
- Перестанет ли работать мое приложение? Нет. Существующие версии библиотек Firebase останутся доступными в реестре CocoaPods, и ваши приложения, использующие эти версии CocoaPods, продолжат работать, пока поддерживается экосистема 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, что устраняет необходимость во внешних инструментах CLI, таких как CocoaPods, и упрощает структуру проекта, устраняя необходимость в .xcworkspace для большинства стандартных конфигураций.
Как перейти на Swift Package Manager
Для большинства проектов переход на Swift Package Manager не требует изменения кода приложения, если только в вашем проекте нет пользовательских конфигураций Xcode или зависимостей, которые активно используют скрипты установки CocoaPods.
Чтобы перейти на Swift Package Manager с CocoaPods, выполните следующие действия:
- Убедитесь, что все зависимости вашего приложения поддерживают Swift Package Manager. Все библиотеки Firebase поддерживают SPM, но вам нужно будет проверить поддержку SPM для ваших зависимостей, не связанных с Firebase, в их репозиториях GitHub или на страницах продуктов. Если некоторые из ваших зависимостей, не связанных с Firebase, не поддерживают SPM, то использование ручной установки вместо SPM является наиболее стабильным путем миграции из CocoaPods.
- Закройте Xcode и удалите CocoaPods из проекта:
- Удалите зависимости CocoaPods, выполнив следующую команду в каталоге проекта:
pod deintegrate
- Удалите файл
.xcworkspace, созданный CocoaPods.
- Удалите зависимости CocoaPods, выполнив следующую команду в каталоге проекта:
- В Xcode обновите проект с помощью зависимостей Swift Package Manager:
- Откройте файл
.xcodeprojпроекта в Xcode. - Повторно добавьте зависимости приложения, выбрав File (Файл) > Add Package Dependencies (Добавить зависимости пакета).
- Откройте файл
- После добавления пакета Firebase вы можете обновить библиотеки Firebase, от которых зависит ваше приложение. Для этого перейдите в настройки проекта в Xcode, выберите целевое приложение и обновите библиотеки в разделе Frameworks, Libraries, and Embedded Content (Фреймворки, библиотеки и встроенный контент).
Подробнее о том, как использовать SPM в Xcode, читайте в документации Apple.
Установка вручную
Что такое установка вручную?
Для установки вручную нужно скачать архив Firebase.zip, который содержит предварительно скомпилированные XCFrameworks для всех продуктов Firebase. Это позволяет перетаскивать нужные SDK прямо в проект Xcode без использования менеджера зависимостей.
Переход на установку вручную
- Закройте Xcode и удалите CocoaPods из проекта:
- Удалите зависимости CocoaPods, выполнив следующую команду в каталоге проекта:
pod deintegrate
- Удалите файл
.xcworkspace, созданный CocoaPods.
- Удалите зависимости CocoaPods, выполнив следующую команду в каталоге проекта:
- Чтобы добавить 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 Pods или скопировать спецификации Firebase Pods из GitHub и разместить их в собственном хранилище спецификаций.
В любом случае мы рекомендуем как можно скорее отказаться от CocoaPods. После прекращения поддержки CocoaPods в октябре 2026 года мы не будем предоставлять официальную поддержку по установке Firebase непосредственно из podspec. Если вы решите размещать собственные файлы podspec, вы будете нести ответственность за их обновление.
Почему поддержка CocoaPods прекращается в октябре 2026 года, если CocoaPods можно публиковать до декабря 2026 года?
Мы выбрали октябрь, чтобы убедиться, что последние версии, опубликованные в CocoaPods, стабильны, прежде чем реестр будет заблокирован в декабре. Это позволит безопасно скоординировать последние обновления и даст разработчикам кросс-платформенных SDK, которые зависят от нативных SDK, но имеют задержки в циклах выпуска, достаточно времени для подготовки собственных релизов.
Перестанет ли работать мое приложение, если я не обновлю его?
Нет, это прекращение поддержки влияет только на будущие выпуски библиотек Firebase. Firebase 12 – последняя основная версия, опубликованная в CocoaPods. Существующие версии (v12 и более ранние) в CocoaPods будут по-прежнему доступны для установки и использования, пока поддерживается экосистема CocoaPods.
Повлияет ли это на оплату проекта?
Нет.
При компиляции проекта после перехода на Swift Package Manager появляется сообщение об ошибке "FirebaseLibrary not found". Как это исправить?
Убедитесь, что вы добавили пакет Firebase в проект Xcode.
При добавлении пакета Firebase Xcode предложит вам добавить фреймворки Firebase в целевые объекты сборки приложения. Если вы забыли добавить фреймворк на этом этапе, вы всегда можете сделать это позже в настройках цели в разделе Build Phases (Этапы сборки) > Link Binary with Libraries (Связать двоичный файл с библиотеками). Если в проекте несколько целей, убедитесь, что Firebase добавлен в нужные.
Повлияет ли переход на мои конвейеры непрерывной интеграции и доставки?
Нет, конвейеры, в которых используются pod install или pod update, продолжат работать для существующих версий. Однако они не будут получать обновления библиотек Firebase, выпущенные после октября 2026 года.