代码中的重大变更
iOS
移除 removeAllListeners 方法
如果你的插件在 .m 文件中包含 CAP_PLUGIN_METHOD(removeAllListeners, CAPPluginReturnPromise),现在可以将其移除。该方法现已对所有插件可用,无需额外定义。
添加 SPM 支持
Capacitor 6 添加了实验性的 SPM(Swift Package Manager)支持。你可以按照 将现有插件转换为 SPM 为你的插件添加支持。
definitions.ts
addListener 方法的签名已改为仅返回一个 Promise,请移除 & PluginListenerHandle。
addListener(
eventName: 'resume',
listenerFunc: () => void,
- ): Promise<PluginListenerHandle> & PluginListenerHandle;
+ ): Promise<PluginListenerHandle>;
将插件中的 Capacitor 升级至 6.0
使用 @capacitor/plugin-migration-v5-to-v6
在插件目录中运行 npx @capacitor/plugin-migration-v5-to-v6@latest,该工具将自动执行所有文件更改。
手动更新文件
更新 package.json
将 @capacitor/cli、@capacitor/core、@capacitor/android 和 @capacitor/ios 更新到 latest-6 版本。
替换已弃用的 compileSdkVersion 并将 targetSDK / compileSDK 更新至 34
# build.gradle
android {
- compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 33
+ compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 34
- targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 33
+ targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 34
}
将 Gradle 插件更新至 8.2.1
dependencies {
- classpath 'com.android.tools.build:gradle:8.0.0'
+ classpath 'com.android.tools.build:gradle:8.2.1'
}
将 Gradle 包装器更新至 8.2.1
# gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
更新 kotlin_version
如果你的插件使用 Kotlin,请更新默认的 kotlin_version。
# build.gradle
buildscript {
- ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.8.20'
+ ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.9.10'
repositories {