Passer à la navigation

Problèmes connus

  • Lorsque vous développez, si vous utilisez la fonctionnalité de rechargement live d'Ionic à partir de CLI, elle remplacera le plugin, vous empêchant donc de voir vos mises à jour.
  • Il utilise le même système que Ionic en sous-couche, vous ne verrez donc pas vos mises à jour.
  • Cela se produit généralement lors de mises à jour importantes (> 20mb) qui sont envoyées, une grande partie des utilisateurs ne recevront pas la dernière version.
    Dans le passé, les utilisateurs devaient garder l'application ouverte jusqu'à ce que le téléchargement soit terminé, nous utilisons maintenant le téléchargement en arrière-plan, mais il est toujours limité à quelques secondes.

Nous avons rencontré certains problèmes avec les appareils en Inde, et avons pu résoudre le problème en faisant appel à un utilisateur, en lui demandant de tenter différentes serveurs DNS, et cela a fonctionné.

Si vous rencontrez un problème, essayez d'utiliser un serveur DNS différent comme Cloudflare ou Google DNS.

Cloudflare: 1.1.1.1 et 1.0.0.1

Google DNS : 8.8.8.8 et 8.8.4.4 ou dns.google

Lorsque vous effectuez une mise à jour hébergée par soi-même, soyez conscient que vous ne pouvez pas utiliser l'endpoint « HTTP » car cela est contraire aux politiques de sécurité des applications Android. Si vous souhaitez quand même le faire, suivez ce guide :

Problème de décompression : les entrées DEFLATED peuvent avoir un EXT descriptor

If you zipped your bundle with something different than the CLI, the format or your zip could be incorrect, please use the CLI command npx @capgo/cli zip BUNDLE_FOLDER.

Ceci est 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 sonar cloud, dans 90 % des cas, cela fonctionnera tout seul, mais avec certains plugins qui causent des problèmes.

Pour le résoudre, ajoutez dans android/app/src/main/AndroidManifest.xml dans le <application> clé :

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

Ajoutez la clé de votre NSPrivacyAccessedAPICategoryUserDefaults dictionnaire à votre Déclaration 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 en tant que raison de l'accès au UserDefaults API.

Lorsque vous utilisez un serveur local pour les tests, l'application demandera la permission réseau, ce qui constitue un comportement normal, ce n'est pas le cas lorsque vous utilisez un serveur distant.

Lorsque vous effectuez des mises à jour manuelles, certaines événements ne sont pas faciles à capturer, par exemple, le déclencheur de mise à jour échoue juste avant que votre JS code se recharge, vous ne pourrez donc pas le capturer.

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

Nous devons trouver un moyen de gérer cela de manière meilleure à l'avenir, mais ce n'est pas une priorité, car la méthode automatique est la méthode recommandée pour effectuer la mise à jour.

Les PR sont les bienvenus pour nous aider à l'améliorer.

si votre CLI a des difficultés à faire quoi que ce soit,

Vérifiez si appId et Nom de l'application sont présents dans votre capacitor.config.ts

Suivez la guide de la documentation officielle :