代码中的重大变更
iOS平台
移除removeAllListeners方法
如果您的插件在.m
文件中包含CAP_PLUGIN_METHOD(removeAllListeners, CAPPluginReturnPromise)
,现在可以移除此方法定义,该方法已作为基础功能支持所有插件。
添加SPM支持
Capacitor 6新增了对Swift Package Manager(SPM)的实验性支持,您可以参照将现有插件转换为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 Wrapper至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版本
如 果您的插件使用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 {