CocoaPods から移行する

CocoaPods は、2026 年 12 月に読み取り専用になり、それ以降は新しい Pod バージョンを公開できなくなると発表しました。以降のセクションでは、この変更について詳しく説明し、アプリを他のインストール マネージャーに移行する方法について説明します。

概要

  • 変更点CocoaPods は読み取り専用状態に移行しています。Firebase 12 は CocoaPods に公開される最後のメジャー バージョンであり、Firebase は 2026 年 10 月に CocoaPods への新しいバージョンの公開を停止します。
  • アプリが破損することはありますか?いいえ。Firebase ライブラリの既存のバージョンは引き続き CocoaPods レジストリで利用できます。CocoaPods エコシステムのサポートが継続される限り、それらの CocoaPods バージョンを使用するアプリは引き続き機能します。
  • 移行の理由最新の機能、パフォーマンスの改善、重要な修正を引き続き利用するには、Swift Package Manager または手動インストールに移行する必要があります。

CocoaPods からの発表に対応するため、Firebase は 2026 年 10 月に CocoaPods への新しいバージョンの公開を停止します。これらの変更は、次のすべての Pod とそのサブ依存関係に影響します。

影響を受ける Firebase Pod
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

これらの変更は、ネイティブの Firebase Apple SDK をラップするすべての Firebase ディストリビューション(Firebase Unity SDK、Firebase C++ SDK、FlutterFire など)にも影響します。

Apple アプリを移行する

CocoaPods から他の(Firebase 以外の)依存関係を移行する場合は、プロジェクト全体で単一のインストール方法を使用することが業界のベスト プラクティスです。同じターゲット内で CocoaPods と Swift Package Manager(SPM)を混在させると、複雑な依存関係サイクルが発生し、ビルドエラーが発生する可能性があります。Firebase 以外の依存関係が SPM をまだサポートしていない場合は、Firebase ライブラリの手動インストールを使用すると、移行時にワークフローを最も安定して統合できます。

Swift Package Manager(SPM)

Swift Package Manager とは

Swift Package Manager(SPM)は、コード配布を管理するための Apple のネイティブ ツールです。Xcode に直接統合されているため、CocoaPods などの外部 CLI ツールが不要になり、ほとんどの標準構成で .xcworkspace が不要になるため、プロジェクト構造が簡素化されます。

Swift Package Manager を使用するように移行する

ほとんどのプロジェクトでは、Swift Package Manager への移行にアプリケーション コードの変更は必要ありません。ただし、プロジェクトにカスタムの Xcode 構成がある場合や、CocoaPods インストール スクリプトを多用する依存関係がある場合は、変更が必要になります。

CocoaPods から Swift Package Manager に移行する方法は次のとおりです。

  1. アプリの各依存関係が Swift Package Manager をサポートしていることを確認します。すべての Firebase ライブラリは SPM をサポートしていますが、Firebase 以外の依存関係については、GitHub リポジトリまたはプロダクト ページで SPM のサポートを確認する必要があります。Firebase 以外の依存関係の一部が SPM をサポートしていない場合は、SPM ではなく手動インストールを使用することが、CocoaPods からの最も安定した移行パスです。
  2. Xcode を閉じた状態で、プロジェクトから CocoaPods を削除します。
    1. プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
      pod deintegrate
    2. CocoaPods が生成した .xcworkspace を削除します。
  3. Xcode で、Swift Package Manager の依存関係を使用してプロジェクトを更新します。
    1. Xcode でプロジェクトの .xcodeproj ファイルを開きます。
    2. [File] > [Add Package Dependencies] を使用して、アプリの依存関係を再度追加します。
  4. Firebase パッケージを追加したら、Xcode でプロジェクト設定に移動し、アプリ ターゲットを選択して、[Frameworks, Libraries, and Embedded Content] でライブラリを更新することで、依存する Firebase ライブラリを更新できます。

Xcode での SPM の使用について詳しくは、Apple のドキュメントをご覧ください。

手動インストール

手動インストールとは

手動インストールでは、すべての Firebase プロダクトのプリコンパイル済み XCFrameworks を含む Firebase.zip アーカイブをダウンロードします。これにより、依存関係マネージャーを使用せずに、特定の SDK を Xcode プロジェクトに直接ドラッグ&ドロップできます。

手動インストールに移行する

  1. Xcode を閉じた状態で、プロジェクトから CocoaPods を削除します。
    1. プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
      pod deintegrate
    2. CocoaPods が生成した .xcworkspace を削除します。
  2. インストール ガイドの手順に沿って、Firebase をプロジェクトに手動で追加します。

Unity、C++、Flutter のアプリを移行する

Firebase Unity SDK と FlutterFire

ほとんどの Unity デベロッパーと Flutter デベロッパーは、特に対応する必要はありません。Unity または Flutter で Firebase を最新バージョンに更新すると、Apple プラットフォームの基盤となる依存関係マネージャーが Swift Package Manager に自動的に移行されます。

CocoaPods を介して Firebase 以外の依存関係を管理している場合は、それらを手動で移行する必要がある場合があります。

Firebase C++ SDK

CocoaPods を介して基盤となる iOS の依存関係を組み込んでいた場合は、上記の移行手順に沿って Firebase CocoaPod の依存関係を更新し、代わりに Swift Package Manager を使用できます。

よくある質問

2026 年 10 月以降も CocoaPods を引き続き使用する必要があります。アプリを継続して実行するにはどうすればよいですか?

古いバージョンの Firebase Pod を使用するか、GitHub から Firebase Podspec をコピーして、独自の仕様リポジトリでホストできます。

いずれの場合も、できるだけ早く CocoaPods から移行することをおすすめします。2026 年 10 月に CocoaPods のサポートが終了すると、podspec から Firebase を直接インストールするための公式サポートは提供されなくなります。独自の podspec をホストする場合は、それらを最新の状態に保つ必要があります。

CocoaPods は 2026 年 12 月まで公開できるのに、CocoaPods のサポートが 2026 年 10 月に終了するのはなぜですか?

10 月に設定したのは、12 月にレジストリがロックされる前に、CocoaPods に公開される最終バージョンが安定していることを確認するためです。このタイムラインは、これらの最終アップデートを安全に調整するために必要なクッションを提供し、ネイティブ SDK に依存しているもののリリース サイクルが遅れているクロスプラットフォーム SDK が、独自のリリースを準備するのに十分な時間を確保できるようにします。

更新しないとアプリは動作しなくなりますか?

いいえ。このサポート終了は、Firebase ライブラリの今後のリリースにのみ影響します。Firebase 12 は CocoaPods に公開される最後のメジャー バージョンです。CocoaPods の既存のバージョン(v12 以前)は、CocoaPods エコシステムのサポートが継続される限り、インストール可能で機能します。

これはプロジェクトの課金に影響しますか?

いいえ。

Swift Package Manager に移行した後、プロジェクトをコンパイルすると「FirebaseLibrary が見つかりません」というエラーが表示されます。どうすればよいですか?

Xcode プロジェクトに Firebase パッケージが追加されていることを確認します。

Firebase パッケージを追加すると、アプリのビルド ターゲットに Firebase フレームワークを追加するよう Xcode から求められます。このステップでフレームワークを追加し忘れた場合は、後でターゲットの設定([Build Phases] > [Link Binary with Libraries])で追加できます。プロジェクトに複数のターゲットが含まれている場合は、正しいターゲットに Firebase が追加されていることを確認してください。

この移行によって CI/CD パイプラインが破損しますか?

いいえ。pod install または pod update を実行しているパイプラインは、既存のバージョンで引き続き機能します。ただし、2026 年 10 月以降にリリースされた新しい Firebase ライブラリのアップデートは取得されません。