En comparación con actualizaciones anteriores, la transición de Capacitor 4 a Capacitor 5 implica cambios mínimos. Esta guía proporciona instrucciones paso a paso para actualizar tu proyecto a Capacitor 5, así como una lista de cambios importantes para los plugins oficiales.
Nota: Capacitor 5 requiere NodeJS 16 o superior, ya que Node 12 ha llegado al final de su vida útil y Node 14 llegará al final de su vida útil el 30 de abril de 2023. Se recomienda usar la última versión LTS de NodeJS.
-
Instala la versión
latest
del CLI de Capacitor en tu proyecto: -
Ejecuta el siguiente comando para permitir que el CLI maneje la migración:
Si algún paso de migración no se puede lograr, se proporcionará información adicional en la salida de la terminal. Los pasos de migración manual se enumeran a continuación.
-
Si tienes instalada la extensión de VS Code, verifica la sección de recomendaciones de la extensión para encontrar la opción de migrar tu proyecto a Capacitor 5.
Actualizando el Proyecto iOS de Capacitor 4 a Capacitor 5
-
Actualizar Xcode: Capacitor 5 requiere Xcode 14.1+.
-
Actualizar gitignore: Realiza los siguientes cambios en tu archivo
gitignore
: -
Actualizar Assets para usar un solo icono de aplicación: Xcode 14 admite un solo icono de aplicación de 1024x1024. Limpia tu AppIcon.appiconset eliminando todos los tamaños innecesarios.
Actualizando el Proyecto Android de Capacitor 4 a Capacitor 5
-
Actualizar Android Studio: Capacitor 5 requiere Android Studio Flamingo | 2022.2.1 o más reciente debido al uso de Gradle 8, que requiere Java JDK 17. Java 17 viene con Android Studio Flamingo, por lo que no se necesitan descargas adicionales.
-
Ejecutar el Asistente de Actualización AGP: Android Studio puede ayudar con algunas actualizaciones relacionadas con Gradle y mover paquetes a archivos de compilación. Para comenzar, ejecuta
Tools -> AGP Upgrade Assistant
. -
Actualizar Variables del Proyecto Android: En tu archivo
variables.gradle
, actualiza tus valores a los siguientes nuevos mínimos: -
Actualizar Google Services:
-
Actualizar el plugin de Gradle a 8.0.0:
-
Actualizar el wrapper de Gradle a 8.0.2:
-
Desactivar Jetifier:
-
Mover el paquete a
build.gradle
: -
Actualizar androidScheme: En Capacitor 6,
https
será la configuración predeterminada paraandroidScheme
en las aplicaciones existentes para permitir mejor que las aplicaciones Capacitor utilicen la función de Autollenado del sistema. Para evitar la pérdida de datos como resultado de este cambio, establece el esquema enhttp
ahora, incluso si es el valor predeterminado actual. -
Actualizar la versión de Kotlin: Si tu proyecto usa Kotlin, actualiza la variable
kotlin_version
a'1.8.20'
.
Cambios en la Funcionalidad de Plugins
La siguiente funcionalidad de plugin ha sido modificada o eliminada. Actualiza tu código en consecuencia:
- Action Sheet
- Browser
- Camera
- Device
- Geolocation
- Google Maps
- Local Notifications
- Push Notifications
- Status Bar
Action Sheet
- Actualiza la variable
androidxMaterialVersion
a1.8.0
.
Browser
- Actualiza la variable
androidxBrowserVersion
a1.5.0
.
Camera
- Para Android 13, agrega el permiso de lectura de imágenes multimedia en
AndroidManifest.xml
. - Actualiza la variable
androidxMaterialVersion
a1.8.0
. - Actualiza la variable
androidxExifInterfaceVersion
a1.3.6
.
Device
- Cambia
DeviceId.uuid
aDeviceId.identifier
. - En iOS 16+,
DeviceInfo.name
devolverá un nombre de dispositivo genérico a menos que agregues los entitlements apropiados.
Geolocation
- Actualiza
playServicesLocationVersion
a21.0.1
.
Google Maps
-
Actualiza las siguientes variables:
googleMapsPlayServicesVersion
a18.1.0
googleMapsUtilsVersion
a3.4.0
googleMapsKtxVersion
a3.4.0
googleMapsUtilsKtxVersion
a3.4.0
kotlinxCoroutinesVersion
a1.6.4
androidxCoreKTXVersion
a1.10.0
kotlin_version
a1.8.20
### Notificaciones locales
-
Para Android 13, se requiere una nueva verificación de permiso en tiempo de ejecución para programar notificaciones locales al apuntar al SDK 33. Llame a
checkPermissions()
yrequestPermissions()
según corresponda.
Notificaciones push
- Para Android 13, se requiere una nueva verificación de permiso en tiempo de ejecución para recibir notificaciones push al apuntar al SDK 33. Llame a
checkPermissions()
yrequestPermissions()
según corresponda. - Actualice la variable
firebaseMessagingVersion
a2312
.
Barra de estado
- En iOS, la animación predeterminada de la barra de estado se ha cambiado a
FADE
.
Al seguir estos pasos y actualizar su código en consecuencia, ahora debería haber actualizado con éxito su proyecto de Capacitor 4 a Capacitor 5. Asegúrese de probar su aplicación a fondo para garantizar que todas las características y complementos funcionen como se espera.