Saltar al contenido

Problemas conocidos

GitHub
  • Al desarrollar, si usas la función de Ionic live reload de CLI, esta sobrescribirá el plugin y no verás tus actualizaciones.
  • Utiliza el mismo sistema que Ionic internamente, por lo que no verás tus actualizaciones.
  • Suele ocurrir al subir actualizaciones pesadas (> 20 MB); un gran porcentaje de usuarios no recibirá la última versión.
    Antes, los usuarios debían mantener la app abierta hasta que terminara la descarga; ahora usamos la descarga en segundo plano, pero sigue limitada a unos pocos segundos.

Hemos visto algunos problemas con dispositivos en India; contactamos con un usuario, le pedimos que probara distintos servidores DNS y funcionó.

Si tienes este problema, intenta usar un servidor DNS diferente como Cloudflare o el de Google.

Cloudflare: 1.1.1.1 y 1.0.0.1

Google DNS: 8.8.8.8 y 8.8.4.4 o dns.google

Al subir una actualización self-hosted, ten en cuenta que no puedes usar un endpoint “HTTP” por las políticas de seguridad de Android. Si aun así quieres hacerlo, sigue esta guía:

Problema al descomprimir: las entradas DEFLATED pueden tener un descriptor EXT

Si comprimiste tu bundle con algo distinto a CLI, el formato de tu zip podría ser incorrecto; por favor usa el comando CLI npx @capgo/cli zip BUNDLE_FOLDER.

Este es un problema conocido de Java:

  • Si tienes problemas con usesCleartextTraffic, se debe a que el plugin sigue las buenas prácticas de SonarCloud; en el 90% de los casos funcionará bien, pero con algunos plugins puede dar problemas.

Para solucionarlo, añade en android/app/src/main/AndroidManifest.xml en la <application> key :

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

Añade la NSPrivacyAccessedAPICategoryUserDefaults clave del diccionario a tu Manifesto de privacidad (normalmente 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>

Recomendamos declarar CA92.1 como motivo para acceder a UserDefaults API.

Al usar un servidor local para probar la actualización, la app pedirá permiso de red; es un comportamiento normal y no ocurre al usar un servidor remoto.

Al hacer actualizaciones en modo manual, algunos eventos no son fáciles de capturar; por ejemplo, el fallo de actualización se dispara justo antes de que tu JS code se recargue, así que no podrás capturarlo.

Una alternativa es listar los bundles y revisar las estadísticas de error para saber si la actualización falló.

Debemos encontrar una mejor forma de manejar esto en el futuro, pero no es prioridad, ya que el modo automático es la forma recomendada de actualizar.

Se aceptan PRs para ayudarnos a mejorar esto.

si tu CLI tiene problemas para hacer cualquier cosa,

Comprueba si appId y appName están presentes en tu capacitor.config.ts

Sigue la guía de la doc oficial:

Continuar desde Problemas conocidos

Sección titulada “Continuar desde Known issues”

Si estás usando Problemas conocidos para planificar el trabajo con plugins nativos, conéctalo con Al usar @capgo/capacitor-updater para la funcionalidad nativa al usar @capgo/capacitor-updater, Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para el detalle de implementación en los Plugins de Capacitor por Capgo, Añadir o actualizar plugins para el detalle de implementación en Agregar o actualizar plugins, y Alternativas a plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas a plugins de Ionic Enterprise.