Sauter au contenu

Problèmes connus

GitHub
  • Lorsque vous développez, si vous utilisez la fonctionnalité Ionic live reload depuis le CLI, elle remplacera le plugin, vous ne verrez donc jamais vos mises à jour.
  • Elle utilise le même système que Ionic en sous-structure, vous ne verrez donc pas vos mises à jour.
  • Cela se produit généralement lorsque des mises à jour importantes (> 20mb) sont envoyées, une grande partie des utilisateurs ne recevront pas la dernière version.
    À l'époque, 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.

On a rencontré quelques problèmes avec les appareils en Inde, et on a obtenu l'utilisateur sur l'appel, les a fait essayer différents serveurs DNS, et cela a fonctionné.

Si vous avez ce 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 envoyez une mise à jour auto-hôte, soyez conscient que vous ne pouvez pas utiliser l'endpoint 'HTTP' car cela va à l'encontre des politiques de sécurité des applications Android. Si vous souhaitez quand même le faire, suivez ce guide :

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

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

Ceci est un problème connu de Java :

  • Si vous avez 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 en android/app/src/main/AndroidManifest.xml en le <application> Clé :

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

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>

On recommande de déclarer CA92.1 comme la raison pour accéder à la UserDefaults API.

Lorsque vous utilisez un serveur local pour la mise à jour de test, l'application demandera des permissions réseau, ce n'est pas le cas lorsque vous utilisez un serveur distant.

Lors de la mise à jour manuelle, certaines événements ne sont pas faciles à capturer, par exemple, le déclenchement de l'erreur de mise à jour se produit juste avant que votre code JS se réinitialise, vous ne pourrez donc pas le capturer.

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

Nous devons trouver un moyen plus efficace de gérer cela à l'avenir, mais ce n'est pas une priorité, puisque le mode automatique est la méthode recommandée pour effectuer la mise à jour.

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

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

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

Suivez le guide du document officiel :

Si vous utilisez Problèmes connus pour planifier le travail de plugin natif, connectez-le à Utilisation de @capgo/capacitor-mise à jour pour la capacité native dans Utilisation de @capgo/capacitor-mise à jour, Répertoire de plugin Capgo pour le flux de travail du produit dans Répertoire de plugin Capgo, Plugins Capacitor par Capgo pour le détail d'implémentation dans Plugins Capacitor par Capgo, Ajout ou mise à jour de plugins pour le détail d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives de plugins d'entreprise Ionic Enterprise pour le flux de produit dans les alternatives Ionic Enterprise Plugin.