メインコンテンツまでスキップ
バージョン: v7

コードの破壊的変更

プラグインの success() および error() メソッドが削除され、代わりに resolve() および reject() を使用します。

registerWebPlugin などの非推奨のプラグイン定義およびメソッドが削除されました。詳細は Capacitor 3 プラグインのアップグレードガイドを参照してください。

Capacitor のヘルパープロパティ platform および isNative が削除され、代わりに getPlatform() および isNativePlatform() メソッドを使用します。

Android

BridgeFragment クラスが削除されました。このクラスを使用して Fragment を表示していたプラグインは、独自のバージョンを作成する必要があります。

iOS

SPM サポートの追加

Capacitor 6 は実験的な SPM サポートを追加しました。プラグインにサポートを追加するには、既存のプラグインをSPMに変換する を参照してください。

プラグインでCapacitorを7.0にアップデートする

@capacitor/plugin-migration-v6-to-v7 を使用する

プラグインフォルダから npx @capacitor/plugin-migration-v6-to-v7@latest を実行すると、すべてのファイル変更が自動的に行われます。

ファイルを手動で更新する

npm 依存関係の更新

Capacitor 依存関係の更新

@capacitor/cli@capacitor/core@capacitor/android、および @capacitor/ios を devDependencies に ^7.0.0 バージョンに更新します。 @capacitor/core を peerDependencies に >=7.0.0 バージョンに更新します。

eslint 依存関係の更新

@ionic/eslint-config^0.4.0 に、eslint^8.57.0 に更新します。

swiftlint 依存関係の更新

@ionic/swiftlint-config および swiftlint^2.0.0 に更新します。

prettier 依存関係の更新

@ionic/prettier-config^4.0.0 に、prettier^3.4.2 に、prettier-plugin-java^2.6.6 に更新します。 次に、prettier npm スクリプトを更新して --plugin=prettier-plugin-java を追加します。

-    "prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
+ "prettier": "prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java",

最後に、.prettierignore にあるエントリが .gitignore に既にある場合、.prettierignore のエントリを削除できます。 すべてのエントリが .gitignore にある場合、.prettierignore ファイルを完全に削除できます。

rollup の更新

rollup^4.30.1 に更新します。次に、rollup.config.js ファイルの名前を rollup.config.mjs に変更します。 最後に、ビルドスクリプトを更新して新しいファイル拡張子を使用します。

-    "build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.js",
+ "build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",

その他の依存関係の更新

rimraf^6.0.1 に、@capacitor/docgen^0.3.0 に更新します。

Android プラグイン変数の更新

build.gradle ファイルで、次のパッケージバージョンの最小値を更新します。

ext {
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
- androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.6.1'
+ androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.7.0'
- androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.5'
+ androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.2.1'
- androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.5.1'
+ androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.6.1'
}

targetSDK / compileSDK を 35 に、minSDK を 23 に更新する

# build.gradle

android {
- compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 34
+ compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 35
defaultConfig {
- minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
+ minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 23
- targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 34
+ targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 35
...
}
}

gradle プラグインを 8.7.2 に更新する

    dependencies {
- classpath 'com.android.tools.build:gradle:8.2.1'
+ classpath 'com.android.tools.build:gradle:8.7.2'
}

gradle ラッパーを 8.11.1 に更新する

# gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Java 21 に更新する

# build.gradle
compileOptions {
- sourceCompatibility JavaVersion.VERSION_17
+ sourceCompatibility JavaVersion.VERSION_21
- targetCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_21
}

kotlin_version の更新

プラグインが kotlin を使用している場合、デフォルトの kotlin_version を更新します。

# build.gradle
buildscript {
- ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.9.10'
+ ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.9.25'
repositories {

iOS デプロイメントターゲットを 14 に引き上げる

プラグインの .podspec ファイルを更新します。

-  s.ios.deployment_target = '13.0'
+ s.ios.deployment_target = '14.0'

SPM 対応プラグイン

Package.swift ファイルを更新します。

-    platforms: [.iOS(.v13)],
+ platforms: [.iOS(.v14)],

古い構造のプラグイン

Xcode プロジェクトで次の操作を行います: プロジェクトエディタ内の Project を選択し、Build Settings タブを開きます。Deployment セクションで、iOS Deployment TargetiOS 14.0 に変更します。同じ手順をアプリの Targets に対しても繰り返します。

次に、ios/Podfile を開き、iOS バージョンを 14.0 に更新します。

-platform :ios, '13.0'
+platform :ios, '14.0'

Capacitor SPM 依存関係の更新

SPM 対応プラグインで、Package.swift ファイルを更新して、メインブランチの代わりに固定バージョンを使用します。

    dependencies: [
- .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", branch: "main")
+ .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "7.0.0")
],