ブログ
【Flutter】iOS開発における「CocoaPods」から「Swift Package Manager 」への移行について
こんにちは!M.Hです。
これまでFlutterのiOSアプリ開発では、依存関係の管理にCocoaPodsを使用していました。
しかし、これまで使ってきたCocoaPodsから、Apple公式のSwift Package Manager(以降SwiftPM)へ移行する動きが急速に進んでいます。
今回は、なぜ今CocoaPodsからの移行が必要なのか、その理由と実際の移行手順を書いていきます!
目次
なぜ、CocoaPodsからの移行が必要なのか?
理由は、CocoaPodsがメンテナンスフェーズ(新機能開発の停止・最小限の保守のみ)になっており、予定では2026年12月2日にはレジストリが読み取り専用化(新規ライブラリ・バージョンの更新停止)されることと、Flutter公式でもSwiftPMへの移行が標準化されたからです。
これまで当たり前に動いていたCocoaPods環境ですが、2026年12月以降はライブラリのアップデートができなくなります。放置すると将来のFlutterアップデート時にビルドエラー等の原因になる可能性があるため、今後の保守性を保つにはSwiftPMへの移行が必須のタスクです。
移行する3つのメリット
- Ruby・Pod周りの開発環境トラブルからの解放
新しい開発メンバーがプロジェクトに参加した際、「Rubyのバージョンが違う」「Gemでエラーが出た」といった開発環境のセットアップで躓くことがなくなります。Xcodeさえあればそのままビルドが可能です。 - CI/CDパイプラインの高速化・安定化
pod installを実行するステップが不要になるため、GitHub ActionsやBitriseなどのCI/CD環境でのビルド時間が短縮され、外部リポジトリの通信エラーによる失敗リスクが低減します。 - Appleエコシステムとの親和性
SwiftPMはAppleのファーストパーティツールであるため、Xcodeのバージョンアップ時の互換性トラブルが少なく、最新のiOS機能やネイティブパッケージをスムーズに導入できます。
既存プロジェクトをSwiftPMへ移行する手順
移行自体は、Flutter CLIが自動処理してくれる部分が多く非常にシンプルです。
環境情報
macOS:Tahoe 26.6.1
Flutter:3.27.4
Xcode:26.6
CocoaPods:1.15.2
STEP 1: 機能の有効化
ターミナルで以下のコマンドを実行し、SwiftPM機能を有効化します。
flutter config --enable-swift-package-managerSTEP 2: 自動移行の実行
プロジェクトルートでアプリをビルドします。Flutter CLIが自動でプロジェクト構造を検出し、SwiftPM構成へ更新してくれます。
flutter build iosSTEP 3: Xcodeでの確認
- Xcodeで
ios/Runner.xcworkspaceを開きます。 - 左側のナビゲーターでPackage Dependenciesに
FlutterGeneratedPluginSwiftPackageが追加されていれば成功です!
補足:まだSwiftPM未対応のプラグインがある場合は?
「使いたいプラグインがまだSwiftPMに対応していないかも…」と心配になるかもしれませんが、現在のFlutterビルドシステムはフォールバック機能を備えており、SwiftPM未対応のプラグインが含まれている場合は自動的に検出して警告を出しつつ、そのパッケージのみ従来通りCocoaPodsを使ってビルドしてくれます。
万が一、特定のプラグインでビルドエラー等が発生した場合は、pubspec.yamlで一時的にSwiftPMをオフにすることも可能です。
# pubspec.yaml
flutter:
config:
enable-swift-package-manager: falseまとめ
長年iOSの開発を支えてくれたCocoaPodsですが、これからの開発ではSwiftPMが標準となります。
これまでCocoaPodsを使って開発してきた既存プロジェクトも、Flutter CLIを使えば手軽に移行を開始できます。ぜひこの機会にプロジェクトの環境を見直し、より快適で安定したiOS開発環境を整えてみてください!
株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!