Problemas conocidos
Recarga en vivo de Ionic
- Cuando desarrolles, si usas la función de recarga en vivo de Ionic desde la CLI, anulará el plugin, por lo que nunca verás tu actualización
Recarga en vivo de Quasar
- Utiliza el mismo sistema que Ionic internamente, por lo que no verás tus actualizaciones
Fallos en actualizaciones
- Esto suele ocurrir cuando se envían grandes actualizaciones (> 20mb), un gran porcentaje de usuarios no obtendrá la última versión En el pasado, los usuarios necesitaban mantener la aplicación abierta hasta que la descarga se completara, ahora usamos descarga en segundo plano, pero aún está limitada a unos pocos segundos
Android
No se puede descargar
Hemos visto algunos problemas con dispositivos en India, y al contactar con usuarios, les hicimos probar diferentes servidores DNS, y funcionó
Así que si tienes el problema, intenta usar un servidor DNS diferente como Cloudflare o Google DNS
Cloudflare: 1111 y 1001
Google DNS: 8888 y 8844 o dnsgoogle
Auto-alojado
Cuando estás enviando una actualización auto-alojada, ten en cuenta que no puedes usar endpoints “HTTP” ya que va contra las políticas de seguridad de las aplicaciones Android, si aún quieres hacerlo, sigue esta guía:
Descompresión
Problema de descompresión: Las entradas DEFLATED pueden tener descriptor EXT
Si comprimiste tu paquete con algo diferente a la 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:
Problema de Clearfix
- Si tienes problemas con usesCleartextTraffic, es porque el plugin sigue las buenas prácticas recomendadas por sonar cloud, en el 90% de los casos funcionará bien, pero con algunos plugins causa problemas
Para solucionarlo, agrega en android/app/src/main/AndroidManifestxml
en la clave <application>
:
tools:replace="android:usesCleartextTraffic"xmlns:tools="http://schemasandroidcom/tools"
iOS
Manifiesto de privacidad
Agrega la clave de diccionario NSPrivacyAccessedAPICategoryUserDefaults
a tu Manifiesto de Privacidad (normalmente 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> <!-- Agrega esta entrada dict al array si el archivo ya existe --> <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategoryUserDefaults</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>CA921</string> </array> </dict> </array> </dict></plist>
Recomendamos declarar CA921
como razón para acceder a la API UserDefaults
Permisos de red
Cuando uses un servidor local para probar actualizaciones, la aplicación pedirá permisos de red, es un comportamiento normal, no sucede cuando usas un servidor remoto
Ambos sistemas operativos
Cuando se realizan 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 código JS se recargue, por lo que no podrás capturarlo
Una alternativa es listar los paquetes y verificar las estadísticas de error para saber si la actualización falló
Necesitamos encontrar una mejor manera de manejar esto en el futuro, pero no es una prioridad, ya que el modo automático es la forma recomendada de hacer actualizaciones
Los PRs son bienvenidos para ayudarnos a mejorar esto
CLI
si tu CLI tiene problemas haciendo cualquier cosa,
Verifica si appId y appName están presentes en tu capacitorconfigts
Sigue la guía de la documentación oficial: