Capacitor 7からCapacitor 8へのアップデート
このガイドでは、プロジェクトを現在のCapacitor 8バージョンにアップデートする手順と、公式プラグインの破壊的変更の一覧を紹介します。
Capacitor設定ファイルの破壊的変更
appendUserAgentにはiOSでユーザーエージェントを追加する前に2つの空白を追加するバグがありましたが、修正されました。ユーザーエージェントの変更を防ぎたい場合は、ios.appendUserAgentに余分な空白を追加してください。ルートのappendUserAgentには追加しないでください。Androidにも空白が追加されてしまいます。
@capacitor/cliの破壊的変更
Capacitor CLIはデフォルトでiOS SPMプロジェクトを作成するようになりました。
既存のアプリには影響しませんが、iosフォルダを削除して再度npx cap add iosを実行すると、SPMテンプレートを使用して作成されます。CocoaPodsテンプレートを使用したい場合は、代わりにnpx cap add ios --packagemanager CocoaPodsを実行してください。
@capacitor/androidの破壊的変更
bridge_layout_main.xmlファイルは削除されました。アプリコードやプラグインコードでこれを参照していた場合は、代わりにcapacitor_bridge_layout_main.xmlを使用してください。
@capacitor/iosの破壊的変更
CapacitorはCAPBridgeViewControllerのviewDidAppearとviewWillTransitionの通知を発行するようになりました。これらのイベントを発行するためにCAPBridgeViewControllerの拡張機能を使用している場合は、削除してください。
NodeJS 22以上
Capacitor 8にはNodeJS 22以上が必要です。(最新のLTSバージョンを推奨します。)
CLIを使用した移行
プロジェクトにlatestバージョンのCapacitor CLIをインストールします:
npm i -D @capacitor/cli@latest
インストール後、以下を実行するだけでCLIが移行を処理します。
npx cap migrate
移行の手順が完了できない場合は、ターミナルの出力に追加情報が表示されます。手動で移行を行う手順は以下に記載されています。
iOS
以下のガイドでは、Capacitor 7 iOSプロジェクトをCapacitor 8にアップグレードする方法を説明します。
Xcodeのアップグレード
Capacitor 8にはXcode 26.0以上が必要です。