Passer au contenu

Problèmes connus

Rechargement en direct Ionic

  • Lorsque vous développez, si vous utilisez la fonction de rechargement en direct d’Ionic depuis la CLI, elle remplacera le plugin, vous ne verrez donc jamais vos mises à jour

Rechargement en direct Quasar

  • Il utilise le même système qu’Ionic en interne, vous ne verrez donc pas vos mises à jour

Échecs des mises à jour

  • Cela se produit généralement lorsque de grandes mises à jour (> 20 Mo) sont envoyées, un grand pourcentage d’utilisateurs n’obtiendra pas la dernière version Auparavant, les utilisateurs devaient garder l’application ouverte jusqu’à la fin du téléchargement, maintenant nous utilisons le téléchargement en arrière-plan, mais c’est toujours limité à quelques secondes

Android

Impossible de télécharger

Nous avons constaté des problèmes avec des appareils en Inde, et après avoir contacté les utilisateurs, leur avoir fait essayer différents serveurs DNS, cela a fonctionné

Donc si vous rencontrez ce problème, essayez d’utiliser un autre serveur DNS comme Cloudflare ou Google DNS

Cloudflare : 1111 et 1001

Google DNS : 8888 et 8844 ou dnsgoogle

Auto-hébergé

Lorsque vous poussez une mise à jour auto-hébergée, gardez à l’esprit que vous ne pouvez pas utiliser un point de terminaison “HTTP” car cela va à l’encontre des politiques de sécurité des applications Android, si vous souhaitez toujours le faire, suivez ce guide :

Décompression

Problème de décompression : Les entrées DEFLATED peuvent avoir un descripteur EXT

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

C’est un problème connu de Java :

Problème Clearfix

  • Si vous avez des problèmes avec usesCleartextTraffic, c’est parce que le plugin suit les bonnes pratiques recommandées par sonar cloud, dans 90% des cas cela fonctionnera très bien, mais avec certains plugins cela cause des problèmes

Pour résoudre ce problème, ajoutez dans android/app/src/main/AndroidManifestxml dans la clé <application> :

tools:replace="android:usesCleartextTraffic"
xmlns:tools="http://schemasandroidcom/tools"

iOS

Manifeste de confidentialité

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

<?xml version="10" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 10//EN" "http://wwwapplecom/DTDs/PropertyList-10dtd">
<plist version="10">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<!-- Ajoutez cette entrée dict au tableau si le fichier existe déjà -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA921</string>
</array>
</dict>
</array>
</dict>
</plist>

Nous recommandons de déclarer CA921 comme raison d’accès à l’API UserDefaults

Permissions réseau

Lors de l’utilisation d’un serveur local pour tester la mise à jour, l’application demandera la permission réseau, c’est un comportement normal, ce n’est pas le cas lorsque vous utilisez un serveur distant

Les deux OS

Lors des mises à jour en mode manuel, certains événements ne sont pas faciles à capturer, par exemple l’échec de mise à jour se déclenche juste avant que votre code JS ne se recharge, vous ne pourrez donc pas le capturer

Une alternative est de lister les bundles et de vérifier les statistiques d’erreur 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é, puisque le mode auto est la façon recommandée de faire les mises à jour

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

CLI

si votre CLI a des problèmes pour faire quoi que ce soit,

Vérifiez si appId et appName sont présents dans votre capacitorconfigts

Suivez le guide de la documentation officielle :