Aller au contenu

Problèmes connus

GitHub
  • Lors de votre développement, si vous utilisez la fonctionnalité Ionic live reload de CLI, elle écrasera le plugin et vous ne verrez jamais votre mise à jour.
  • Il utilise le même système qu'Ionic sous le capot, vous ne verrez donc pas vos mises à jour.
  • Cela arrive généralement lors de l'envoi de mises à jour volumineuses (> 20 Mo) : un grand pourcentage d'utilisateurs ne recevra pas la dernière version.
    Auparavant, les utilisateurs devaient laisser l'application ouverte jusqu'à la fin du téléchargement. Nous utilisons désormais le téléchargement en arrière-plan, mais cela reste limité à quelques secondes.

Nous avons constaté des problèmes avec des appareils en Inde ; nous avons eu un utilisateur au téléphone, lui avons fait tester différents serveurs DNS, et cela a fonctionné.

Si vous rencontrez ce problème, essayez d'utiliser un autre serveur DNS comme Cloudflare ou le DNS de Google.

Cloudflare : 1.1.1.1 et 1.0.0.1

DNS Google : 8.8.8.8 et 8.8.4.4 ou dns.google

Lorsque vous poussez une mise à jour auto-hébergée, gardez à l'esprit que vous ne pouvez pas utiliser d'endpoint « HTTP », car cela contrevient aux politiques de sécurité d'Android. Si vous souhaitez tout de même le faire, suivez ce guide :

Problème d'unzip : les entrées DEFLATED peuvent avoir un descripteur EXT

Si vous avez compressé votre bundle avec un outil autre que CLI, le format de votre zip pourrait être incorrect. Veuillez utiliser la commande CLI npx @capgo/cli zip BUNDLE_FOLDER.

Il s'agit d'un problème connu de Java :

  • Si vous rencontrez des problèmes avec usesCleartextTraffic, c'est parce que le plugin suit les bonnes pratiques recommandées par SonarCloud. Dans 90 % des cas, cela fonctionnera parfaitement, mais certains plugins peuvent causer des problèmes.

Pour le corriger, ajoutez dans android/app/src/main/AndroidManifest.xml dans l' <application> clé :

tools:replace="android:usesCleartextTraffic"
xmlns:tools="http://schemas.android.com/tools"

Manifeste de confidentialité

Section intitulée « Privacy manifest »

Ajoutez la NSPrivacyAccessedAPICategoryUserDefaults clé du dictionnaire à votre Manifeste de confidentialité (généralement ios/App/PrivacyInfo.xcprivacy):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Add this dict entry to the array if the file already exists. -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

Nous recommandons de déclarer CA92.1 comme raison d'accès au UserDefaults API.

Lors de l'utilisation d'un serveur local pour tester une mise à jour, l'application demandera l'autorisation réseau ; c'est un comportement normal, cela ne se produit pas avec un serveur distant.

Lors des mises à jour en mode manuel, certains événements sont difficiles à intercepter. Par exemple, l'échec de la mise à jour se déclenche juste avant le rechargement de votre code JS, vous empêchant ainsi de le détecter.

Une alternative consiste à lister les bundles et à consulter les statistiques d'erreur pour savoir si la mise à jour échoue.

Nous devrons trouver une meilleure façon de gérer cela à l'avenir, mais ce n'est pas une priorité, car le mode auto est la méthode recommandée pour les mises à jour.

Les PR sont les bienvenues pour nous aider à améliorer cela.

if your CLI has troubles doing anything,

Vérifiez si appId et appName sont présents dans votre capacitor.config.ts

Suivez le guide de la doc officielle :

Si vous utilisez Problèmes connus pour planifier le travail sur les plugins natifs, connectez-l’à Utiliser @capgo/capacitor-updater pour la capacité native dans « Utiliser @capgo/capacitor-updater », Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives aux plugins Ionic Enterprise pour le workflow produit dans Alternatives aux plugins Ionic Enterprise.