Par rapport aux mises à jour précédentes, la transition de Capacitor 4 à Capacitor 5 implique des changements minimes. Ce guide fournit des instructions étape par étape pour mettre à jour votre projet vers Capacitor 5, ainsi qu’une liste des changements importants pour les plugins officiels.
Note : Capacitor 5 nécessite NodeJS 16 ou supérieur, car Node 12 a atteint sa fin de vie et Node 14 atteindra sa fin de vie le 30 avril 2023. Il est recommandé d’utiliser la dernière version LTS de NodeJS.
-
Installez la version
latest
du CLI Capacitor dans votre projet : -
Exécutez la commande suivante pour laisser le CLI gérer la migration :
Si certaines étapes de migration ne peuvent pas être réalisées, des informations supplémentaires seront fournies dans la sortie du terminal. Les étapes de migration manuelle sont listées ci-dessous.
-
Si vous avez l’extension VS Code installée, vérifiez la section des recommandations de l’extension pour trouver l’option de migration de votre projet vers Capacitor 5.
Mise à niveau du projet iOS Capacitor 4 vers Capacitor 5
-
Mise à niveau de Xcode : Capacitor 5 nécessite Xcode 14.1+.
-
Mise à jour du gitignore : Effectuez les modifications suivantes dans votre fichier
gitignore
: -
Mise à jour des ressources pour utiliser une seule icône d’application : Xcode 14 prend en charge une seule icône d’application de 1024x1024. Nettoyez votre AppIcon.appiconset en supprimant toutes les tailles inutiles.
Mise à niveau du projet Android Capacitor 4 vers Capacitor 5
-
Mise à niveau d’Android Studio : Capacitor 5 nécessite Android Studio Flamingo | 2022.2.1 ou plus récent en raison de l’utilisation de Gradle 8, qui nécessite Java JDK 17. Java 17 est livré avec Android Studio Flamingo, donc aucun téléchargement supplémentaire n’est nécessaire.
-
Exécution de l’Assistant de mise à niveau AGP : Android Studio peut aider avec certaines mises à jour liées à Gradle et au déplacement des packages dans les fichiers de build. Pour commencer, exécutez
Tools -> AGP Upgrade Assistant
. -
Mise à jour des variables du projet Android : Dans votre fichier
variables.gradle
, mettez à jour vos valeurs aux nouveaux minimums suivants : -
Mise à jour des services Google :
-
Mise à jour du plugin Gradle vers 8.0.0 :
-
Mise à jour du wrapper Gradle vers 8.0.2 :
-
Désactivation de Jetifier :
-
Déplacement du package vers
build.gradle
: -
Mise à jour de androidScheme : Dans Capacitor 6,
https
sera le paramètre par défaut pourandroidScheme
pour les applications existantes afin de mieux permettre aux applications Capacitor d’utiliser la fonction Autofill du système. Pour éviter la perte de données suite à ce changement, définissez le schéma surhttp
maintenant, même si c’est la valeur par défaut actuelle. -
Mise à jour de la version Kotlin : Si votre projet utilise Kotlin, mettez à jour la variable
kotlin_version
à'1.8.20'
.
Changements de fonctionnalité des plugins
Les fonctionnalités suivantes des plugins ont été modifiées ou supprimées. Mettez à jour votre code en conséquence :
- Action Sheet
- Browser
- Camera
- Device
- Geolocation
- Google Maps
- Local Notifications
- Push Notifications
- Status Bar
Action Sheet
- Mettez à jour la variable
androidxMaterialVersion
à1.8.0
.
Browser
- Mettez à jour la variable
androidxBrowserVersion
à1.5.0
.
Camera
- Pour Android 13, ajoutez la permission de lecture des images médias (
<?xml version="1.0" encoding="utf-8"?>
) dansAndroidManifest.xml
. - Mettez à jour la variable
androidxMaterialVersion
à1.8.0
. - Mettez à jour la variable
androidxExifInterfaceVersion
à1.3.6
.
Device
- Changez
Device.id.uuid
enDevice.id.identifier
. - Sur iOS 16+,
Device.info.name
renverra un nom d’appareil générique, sauf si vous ajoutez les droits appropriés.
Geolocation
- Mettez à jour
playServicesLocationVersion
à21.0.1
.
Google Maps
-
Mettez à jour les variables suivantes :
googleMapsPlayServicesVersion
à18.1.0
googleMapsUtilsVersion
à3.4.0
googleMapsKtxVersion
à3.4.0
googleMapsUtilsKtxVersion
à3.4.0
kotlinxCoroutinesVersion
à1.6.4
androidxCoreKTXVersion
à1.10.0
kotlin_version
à1.8.20
### Notifications locales
-
Pour Android 13, une nouvelle vérification d’autorisation d’exécution est nécessaire pour planifier des notifications locales lors du ciblage du SDK 33. Appelez
checkPermissions()
etrequestPermissions()
en conséquence.
Notifications push
- Pour Android 13, une nouvelle vérification d’autorisation d’exécution est nécessaire pour recevoir des notifications push lors du ciblage du SDK 33. Appelez
checkPermissions()
etrequestPermissions()
en conséquence. - Mettez à jour la variable
firebaseMessagingVersion
à23.1.2
.
Barre d’état
- Sur iOS, l’animation par défaut de la barre d’état a été modifiée pour
FADE
.
En suivant ces étapes et en mettant à jour votre code en conséquence, vous devriez maintenant avoir réussi à mettre à jour votre projet de Capacitor 4 vers Capacitor 5. Assurez-vous de tester votre application de manière approfondie pour vous assurer que toutes les fonctionnalités et les plugins fonctionnent comme prévu.