Problemi noti
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Ricarica live di Ionic
Sezione intitolata “Ricarica live di Ionic”- Quando sviluppi, se utilizzi la funzione di ricarica live di Ionic dal CLI, sovrascriverà il plugin, quindi non vedrai mai le tue aggiornamenti.
Ricarica live di Quasar
Sezione intitolata “Ricarica live di Quasar”- Utilizza lo stesso sistema di Ionic sotto il cofano, quindi non vedrai mai gli aggiornamenti.
Aggiornamenti falliti
Sezione intitolata “Aggiornamenti falliti”- Questo accade di solito quando vengono inviati aggiornamenti molto grandi (> 20mb), una grande percentuale di utenti non riceverà la versione più recente.
In passato, gli utenti dovevano tenere l'app aperta fino a quando il download non era completo, ora utilizziamo il download in background, ma è ancora limitato a pochi secondi.
Android
Sezione intitolata “Android”Impossibile scaricare
Sezione intitolata “Impossibile scaricare”Abbiamo riscontrato alcuni problemi con i dispositivi in India, e abbiamo fatto chiamare l'utente, gli abbiamo fatto provare diversi server DNS, e funziona.
Se hai questo problema, prova a utilizzare un server DNS diverso come Cloudflare o Google DNS.
Cloudflare: 1.1.1.1 e 1.0.0.1
Google DNS: 8.8.8.8 e 8.8.4.4 o dns.google
Self Hosted
Sezione intitolata “Self Hosted”Quando si sta eseguendo un aggiornamento self-hosted, si deve tenere presente che non si può utilizzare l'endpoint “HTTP” poiché è contro le politiche di sicurezza degli app Android, se lo si vuole comunque fare, segui questa guida:
Scompatta
Sezione intitolata “Scompatta”Problema di scompattazione: gli elementi DEFLATED possono avere un descriptor EXT
Se hai scompresso il tuo bundle con qualcosa diverso dal CLI, il formato o il tuo file zip potrebbe essere errato, utilizza il comando CLI npx @capgo/cli zip BUNDLE_FOLDER.
Questo è un problema noto di Java:
Problema di clearfix
Sezione intitolata “Problema di clearfix”- Se hai problemi con usesCleartextTraffic, è perché il plugin segue la buona pratica raccomandata da sonar cloud, in 90% dei casi funziona senza problemi, ma con alcuni plugin causa problemi
Per risolverlo, aggiungi in android/app/src/main/AndroidManifest.xml in il <application> chiave :
tools:replace="android:usesCleartextTraffic"xmlns:tools="http://schemas.android.com/tools"Manifesto della privacy
Sezione intitolata “Manifesto della privacy”Aggiungi la NSPrivacyAccessedAPICategoryUserDefaults chiave del dizionario al tuo Manifesto della Privacy (di solito 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>Consigliamo di dichiarare CA92.1 come motivo di accesso alla UserDefaults API.
I permessi di rete
Sezione intitolata “I permessi di rete”Quando si utilizza un server locale per le prove di testing, l'app chiederà i permessi di rete, è un comportamento normale, non è il caso quando si utilizza un server remoto.
Tutti gli OS
Sezione intitolata “Tutti gli OS”Quando si effettuano aggiornamenti manuali, alcuni eventi non sono facili da catturare, ad esempio l'aggiornamento fallisce proprio prima che il tuo JS code si ricarichi, quindi non potrai catturarlo.
Un'altra alternativa è elencare i bundle e controllare gli stat della errore per sapere se l'aggiornamento fallisce.
Dobbiamo trovare un modo migliore per gestire questo in futuro, ma non è una priorità, poiché il modo automatico è il modo consigliato per effettuare gli aggiornamenti.
I PR sono i benvenuti per aiutarci a migliorare questo.
se il tuo CLI ha problemi a fare qualsiasi cosa,
Controlla se appId e appName sono presenti nel tuo capacitor.config.ts
Segui la guida del documento ufficiale: