Zum Inhalt springen

Bekannte Probleme

Ionic Live-Reload

  • Wenn Sie während der Entwicklung die Ionic Live-Reload-Funktion der CLI verwenden, überschreibt diese das Plugin, sodass Sie Ihre Aktualisierungen nicht sehen werden

Quasar Live-Reload

  • Es verwendet intern das gleiche System wie Ionic, daher werden Sie Ihre Aktualisierungen nicht sehen

Fehlgeschlagene Updates

  • Dies passiert üblicherweise bei großen Updates (> 20MB), ein großer Prozentsatz der Nutzer erhält dann nicht die letzte Version
    Früher mussten Nutzer die App geöffnet halten, bis der Download abgeschlossen war. Jetzt verwenden wir Hintergrund-Downloads, aber diese sind immer noch auf wenige Sekunden begrenzt

Android

Download nicht möglich

Wir haben einige Probleme mit Geräten in Indien festgestellt und konnten mit Nutzern telefonisch verschiedene DNS-Server testen, was das Problem löste

Wenn Sie also Probleme haben, versuchen Sie einen anderen DNS-Server wie Cloudflare oder Google DNS zu verwenden

Cloudflare: 1111 und 1001

Google DNS: 8888 und 8844 oder dnsgoogle

Self Hosted

Wenn Sie ein selbst gehostetes Update bereitstellen, beachten Sie, dass Sie keinen “HTTP”-Endpunkt verwenden können, da dies gegen die Sicherheitsrichtlinien von Android-Apps verstößt. Wenn Sie es trotzdem tun möchten, folgen Sie dieser Anleitung:

Unzip

Unzip-Problem: DEFLATED-Einträge können EXT-Deskriptor haben

Wenn Sie Ihr Bundle mit etwas anderem als der CLI gepackt haben, könnte das Format Ihrer ZIP-Datei falsch sein. Bitte verwenden Sie den CLI-Befehl npx @capgo/cli zip BUNDLE_FOLDER

Dies ist ein bekanntes Problem von Java:

Cleartext-Problem

  • Wenn Sie Probleme mit usesCleartextTraffic haben, liegt das daran, dass das Plugin den von Sonar Cloud empfohlenen Best Practices folgt. In 90% der Fälle funktioniert dies einwandfrei, aber bei einigen Plugins kann es zu Problemen führen

Um dies zu beheben, fügen Sie in android/app/src/main/AndroidManifestxml im <application>-Schlüssel folgendes hinzu:

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

iOS

Privacy Manifest

Fügen Sie den Dictionary-Schlüssel NSPrivacyAccessedAPICategoryUserDefaults zu Ihrem Privacy Manifest hinzu (normalerweise 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>
<!-- Fügen Sie diesen dict-Eintrag zum Array hinzu, wenn die Datei bereits existiert -->
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA921</string>
</array>
</dict>
</array>
</dict>
</plist>

Wir empfehlen, CA921 als Grund für den Zugriff auf die UserDefaults API anzugeben

Netzwerkberechtigungen

Bei der Verwendung eines lokalen Servers zum Testen von Updates wird die App nach Netzwerkberechtigungen fragen. Dies ist ein normales Verhalten und tritt nicht auf, wenn Sie einen Remote-Server verwenden

Beide Betriebssysteme

Bei manuellen Update-Modi sind einige Events nicht einfach abzufangen. Zum Beispiel wird der Update-Fehler kurz bevor Ihr JS-Code neu geladen wird ausgelöst, sodass Sie ihn nicht abfangen können

Eine Alternative ist es, die Bundles aufzulisten und die Fehlerstatistiken zu überprüfen, um zu erfahren, ob das Update fehlgeschlagen ist

Wir müssen in Zukunft einen besseren Weg finden, dies zu handhaben, aber es hat keine Priorität, da der Auto-Modus die empfohlene Update-Methode ist

PRs zur Verbesserung sind willkommen

CLI

Wenn Ihre CLI Probleme bei der Ausführung hat,

Prüfen Sie, ob appId und appName in Ihrer capacitorconfigts vorhanden sind

Folgen Sie der Anleitung der offiziellen Dokumentation: