CocoaPods
[announced](https://blog.cocoapods.org/CocoaPods-Specs-Repo/)
that they will become read-only in December 2026, after which new pod versions
can no longer be published. The following sections provide more information
about this change, and explain how to migrate your apps to other installation
managers.

## Overview

- **What's changing?** CocoaPods is moving to a read-only state. **Firebase 12
  is the final major version published to CocoaPods**, and Firebase will stop publishing new versions to CocoaPods in October 2026.
- **Will my app break?** No. Existing versions of Firebase libraries will remain available on the CocoaPods registry, and your apps that use those CocoaPod versions will continue to function as long as CocoaPods ecosystem support continues.
- **Why migrate?** To continue receiving the latest features, performance improvements, and critical fixes, you should migrate use to [Swift Package Manager](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#swift-package-manager-spm) or [manual installation](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#manual-installation).

To accommodate the announcement from CocoaPods, **Firebase will stop publishing
new versions to CocoaPods in October 2026**. These changes impact all of the
following pods and their subdependencies:

| Impacted Firebase pods |   |   |
|---|---|---|
| `Firebase` | `FirebaseAuth` | `FirebaseInstallations` |
| `FirebaseABTesting` | `FirebaseCore` | `FirebaseMessaging` |
| `FirebaseAI` | `FirebaseCrashlytics` | `FirebaseMLModelDownloader` |
| `FirebaseAILogic` | `FirebaseDatabase` | `FirebasePerformance` |
| `FirebaseAnalytics` | `FirebaseFirestore` | `FirebaseRemoteConfig` |
| `FirebaseAppCheck` | `FirebaseFunctions` | `FirebaseStorage` |
| `FirebaseAppDistribution` | `FirebaseInAppMessaging` |   |

These changes will additionally impact all Firebase distributions that wrap the
native **Firebase Apple SDK** , including the
[Firebase Unity SDK](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#migrate-your-unity-c-and-flutter-apps),
[Firebase C++ SDK](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#migrate-your-unity-c-and-flutter-apps), and
[FlutterFire](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#migrate-your-unity-c-and-flutter-apps).

## Migrate your Apple apps

If you're migrating other (non-Firebase) dependencies away from CocoaPods,
note that it's industry best practice to use a single installation method for
your entire project. Mixing CocoaPods and Swift Package Manager (SPM) within
the same target can lead to complex dependency cycles and build errors. If your
non-Firebase dependencies do not yet support SPM, using
[manual installation](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#manual-installation)
for Firebase libraries is the most stable way to consolidate your workflow as
you migrate.

### Swift Package Manager (SPM)

#### What is Swift Package Manager?

Swift Package Manager (SPM) is Apple's native tool for managing code
distribution. It's integrated directly into Xcode, eliminating the need for
external CLI tools like CocoaPods and simplifying your project structure by
removing the need for a `.xcworkspace` for most standard configurations.

#### Migrate to using Swift Package Manager

For most projects, migrating to Swift Package Manager does not require changing
your application code unless your project has custom Xcode configurations or
dependencies that make heavy use of CocoaPods install scripts.

Here's how to migrate to Swift Package Manager from CocoaPods:

1. Verify that each of your app's dependencies support Swift Package Manager. All Firebase libraries support SPM, but you'll need to check SPM-support for your non-Firebase dependencies in their GitHub repositories or product pages. If some of your non-Firebase dependencies don't support SPM, then using [manual installation](https://firebase.google.com/docs/ios/cocoapods-deprecation.md.txt#manual-installation) instead of SPM is the most stable migration path away from CocoaPods.
2. With Xcode closed, remove CocoaPods from your project:
   1. Uninstall your CocoaPods dependencies by running the following command in your project directory:

      ```
      pod deintegrate
      ```
   2. Delete the CocoaPods-generated `.xcworkspace`.
3. In Xcode, update your project with Swift Package Manager dependencies:
   1. Open your project's `.xcodeproj` file via Xcode.
   2. Re-add your app dependencies using **File \> Add Package Dependencies**.
4. Once the Firebase package is added, you can update the Firebase libraries you depend on by navigating to project settings in Xcode, selecting your app target, and updating the libraries under **Frameworks, Libraries, and Embedded Content**.

Learn more about
[using SPM in Xcode](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app)
in the Apple documentation.

> [!NOTE]
> **Note:** Firebase libraries are listed within the Firebase package. If you encounter build issues, ensure the correct libraries are added to your app's build targets under the **Build Phases \> Link Binary with Libraries** section.

### Manual installation

#### What is manual installation?

Manual installation involves downloading the `Firebase.zip` archive, which
contains pre-compiled XCFrameworks for all Firebase products. This lets you
drag and drop specific SDKs directly into your Xcode project without using a
dependency manager.

#### Migrate to using manual installation

1. With Xcode closed, remove CocoaPods from your project:
   1. Uninstall your CocoaPods dependencies by running the following command in your project directory:

      ```
      pod deintegrate
      ```
   2. Delete the CocoaPods-generated `.xcworkspace`.
2. Follow the steps in our [installation guide](https://firebase.google.com/docs/ios/installation-methods.md.txt#integrate-manually) to add Firebase to your project manually.

## Migrate your Unity, C++, and Flutter apps

### Firebase Unity SDK and FlutterFire

No action is required for most Unity and Flutter developers. Updating to the
latest version of Firebase on Unity or Flutter will automatically migrate your
underlying dependency manager on Apple platforms to Swift Package Manager.

Note that if you're managing non-Firebase dependencies via CocoaPods, you may
need to migrate those manually.

### Firebase C++ SDK

If you were including the underlying iOS dependencies via CocoaPods, you can
follow the migration instructions above to update your Firebase CocoaPod
dependencies to use Swift Package Manager instead.

## FAQ

#### I need to keep using CocoaPods after October 2026. How do I keep my app running?

You can either use the old versions of Firebase pods or copy the Firebase
podspecs from
[GitHub](https://github.com/firebase/firebase-ios-sdk)
and host them in your own specs repository.

In either case, **we recommend you migrate off CocoaPods as soon as possible**.
We will not provide official support for installing Firebase directly from the
podspec after CocoaPods support is discontinued in October 2026. If you choose
to host your own podspecs, you will be responsible for keeping them up-to-date.

#### Why is support for CocoaPods being discontinued in October 2026 when CocoaPods can be published until December 2026?

We chose October to ensure the final versions published to CocoaPods are stable
before the registry locks in December. This timeline provides a necessary
cushion to safely coordinate these final updates, and it ensures that
cross-platform SDKs---which depend on the native SDK but have delayed release
cycles---have plenty of time to prepare their own releases.

#### Will my app stop working if I don't update?

No, this deprecation only affects future releases of Firebase libraries.
Firebase 12 is the final major version published to CocoaPods, and existing
versions (v12 and earlier) in CocoaPods will remain installable and functional
as long as CocoaPods ecosystem support continues.

#### Does this affect project billing?

No.

#### I'm getting a "FirebaseLibrary not found" error when compiling my project after migrating to Swift Package Manager. How do I fix this?

Make sure you've added the Firebase package to your Xcode project.

When adding the Firebase package, Xcode will prompt you to add Firebase
frameworks to your app's build targets. If you forget to add a framework during
this step, you can always add it later in your target's settings under
**Build Phases \> Link Binary with Libraries**. If your project contains
multiple targets, make sure you have Firebase added to the correct targets.

#### Will this transition break my CI/CD pipelines?

No, pipelines running `pod install` or `pod update` will continue to work for
existing versions. However, they will not pull any new Firebase library updates
released after October 2026.