CocoaPods から移行する

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

概要

  • 変更点CocoaPods は読み取り専用の状態に移行し、Firebase は 2026 年 10 月に CocoaPods への新しいバージョンの公開を停止します。
  • アプリは壊れますか?いいえ。Firebase ライブラリの既存バージョンは、CocoaPods レジストリで無期限に利用可能であり、それらの CocoaPod バージョンを使用するアプリは引き続き機能します。
  • 移行する理由最新の機能、パフォーマンスの改善、重要な修正を引き続き受け取るには、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 Unity SDKFirebase C++ SDKFlutterFire など、ネイティブの Firebase Apple SDK をラップするすべての Firebase ディストリビューションにも影響します。

Apple アプリを移行する

CocoaPods から他の(Firebase 以外の)依存関係を移行する場合は、プロジェクト全体で 1 つのインストール方法を使用することが業界のベスト プラクティスであることに注意してください。同じターゲット内で 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 以外の依存関係の SPM サポートについては、GitHub リポジトリまたはプロダクト ページで確認する必要があります。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 プロダクトの事前コンパイル済み XCFramework を含む 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 をホストする場合は、podspec を最新の状態に保つ必要があります。

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

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

アップデートしないとアプリは動作しなくなりますか?

いいえ。この非推奨化は、Firebase ライブラリの今後のリリースにのみ影響します。CocoaPods の既存のバージョンは引き続きインストール可能であり、これらの Pod バージョンを使用するデプロイ済みアプリは影響を受けません。

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

いいえ。

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

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

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

この移行により CI/CD パイプラインが中断されますか?

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