Aller au contenu

Problèmes connus

GitHub
  • Lors du développement, si vous utilisez la fonctionnalité Ionic live reload depuis le 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 déployez une mise à jour auto-hébergée, gardez à l'esprit que vous ne pouvez pas utiliser d'endpoint « HTTP », car cela va à l'encontre des règles de sécurité des applications Android. Si vous voulez quand même le faire, suivez ce guide :

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

Si vous avez zippé votre bundle avec autre chose que CLI, le format de votre zip pourrait être incorrect. Utilisez 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 la bonne pratique recommandée par SonarCloud : dans 90 % des cas, tout fonctionnera parfaitement, mais avec certains plugins, cela cause des problèmes.

Pour corriger cela, 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 titled “Privacy manifest”

Ajouter le NSPrivacyAccessedAPICategoryUserDefaults clé de dictionnaire vers 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 demande l’autorisation réseau. C’est un comportement normal, ce n’est pas le cas 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, ce qui vous empêche de le capturer.

Une alternative consiste à lister les bundles et à vérifier les statistiques d’erreurs pour savoir si la mise à jour échoue.

Nous devons trouver une meilleure façon de gérer cela à l’avenir, mais ce n’est pas une priorité, le mode automatique étant la méthode recommandée pour effectuer une mise à jour.

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

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 documentation 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.