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 Apple SDK をラップするすべての Firebase ディストリビューションにも影響します。これには、 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 などの外部 CLI ツールは不要になり、ほとんどの標準構成で .xcworkspace が不要になるため、プロジェクト構造が簡素化されます。
Swift Package Manager を使用するように移行する
ほとんどのプロジェクトでは、プロジェクトにカスタム Xcode 構成や CocoaPods インストール スクリプトを多用する依存関係がない限り、Swift Package Manager に移行してもアプリケーション コードを変更する必要はありません。
CocoaPods から Swift Package Manager に移行する方法は次のとおりです。
- アプリの各依存関係が Swift Package Manager をサポートしていることを確認します。 すべての Firebase ライブラリは SPM をサポートしていますが、Firebase 以外の依存関係の SPM サポートについては、GitHub リポジトリまたはプロダクト ページで確認する必要があります。 Firebase 以外の依存関係の一部が SPM をサポートしていない場合は、SPM ではなく 手動インストール を使用することが、CocoaPods から移行する最も安定した方法です。
- Xcode を閉じた状態で、プロジェクトから CocoaPods を削除します。
- プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
pod deintegrate
- CocoaPods が生成した
.xcworkspaceを削除します。
- プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
- Xcode で、Swift Package Manager の依存関係を使用してプロジェクトを更新します。
- Xcode でプロジェクトの
.xcodeprojファイルを開きます。 - [File] > [Add Package Dependencies] を使用して、アプリの依存関係を再度追加します。
- Xcode でプロジェクトの
- Firebase パッケージを追加したら、Xcode でプロジェクト設定に移動し、アプリのターゲットを選択して、[Frameworks, Libraries, and Embedded Content] でライブラリを更新することで、依存する Firebase ライブラリを更新できます。 Xcode での SPM の使用について詳しくは、 Apple のドキュメントをご覧ください。
手動インストール
手動インストールとは何ですか?
手動インストールでは、すべての Firebase プロダクトのプリコンパイル済み XCFramework を含む Firebase.zip アーカイブをダウンロードします。これにより、依存関係マネージャーを使用せずに、特定の SDK を Xcode プロジェクトに直接ドラッグ&ドロップできます。
手動インストールを使用するように移行する
- Xcode を閉じた状態で、プロジェクトから CocoaPods を削除します。
- プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
pod deintegrate
- CocoaPods が生成した
.xcworkspaceを削除します。
- プロジェクト ディレクトリで次のコマンドを実行して、CocoaPods の依存関係をアンインストールします。
- インストール ガイドの手順に沿って、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 をコピーして、 GitHub 独自のスペック リポジトリでホストします。
いずれの場合でも、できるだけ早く 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」エラーが表示されます。どうすればよいですか?
Firebase パッケージが Xcode プロジェクトに追加されていることを確認します。
Firebase パッケージを追加すると、Xcode で Firebase フレームワークをアプリのビルドターゲットに追加するように求められます。この手順でフレームワークを追加し忘れた場合は、ターゲットの設定の [Build Phases] > [Link Binary with Libraries] でいつでも追加できます。プロジェクトに複数のターゲットが含まれている場合は、Firebase が正しいターゲットに追加されていることを確認してください。
この移行により CI/CD パイプラインが中断されますか?
いいえ。pod install または pod update を実行するパイプラインは、既存のバージョンで引き続き機能します。ただし、2026 年 10 月以降にリリースされた新しい Firebase ライブラリのアップデートはプルされません。