Zum Inhalt springen

Bekannte Probleme

GitHub
  • Wenn du während der Entwicklung die Ionic Live Reload Funktion von CLI nutzt, wird das Plugin überschrieben und du siehst deine Updates nicht.
  • Es nutzt im Hintergrund dasselbe System wie Ionic, weshalb deine Updates nicht angezeigt werden.
  • Dies passiert meist bei großen Updates (> 20 MB); ein Großteil der User erhält dann nicht die neueste Version.
    Früher mussten User die App offen halten, bis der Download fertig war. Wir nutzen jetzt Background Downloads, aber diese sind immer noch auf wenige Sekunden begrenzt.

Wir haben einige Probleme mit Geräten in Indien festgestellt. Nach Rücksprache mit den Nutzern und dem Testen verschiedener DNS-Server konnte das Problem behoben werden.

Falls das Problem auftritt, versuche es mit einem anderen DNS-Server wie Cloudflare oder Google DNS.

Cloudflare: 1.1.1.1 und 1.0.0.1

Google DNS: 8.8.8.8 und 8.8.4.4 oder dns.google

Wenn du ein selbst gehostetes Update pushst, beachte bitte, dass du keinen „HTTP“-Endpoint nutzen kannst, da dies gegen die Sicherheitsrichtlinien von Android-Apps verstößt. Falls du es dennoch versuchen möchtest, folge dieser Anleitung:

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

Falls du dein Bundle mit etwas anderem als CLI gezippt hast, könnte das Format oder dein Zip fehlerhaft sein. Bitte nutze den CLI Befehl. npx @capgo/cli zip BUNDLE_FOLDER.

Dies ist ein bekanntes Java-Problem:

  • Falls Probleme mit usesCleartextTraffic auftreten: Das Plugin folgt den von SonarCloud empfohlenen Best Practices. In 90 % der Fälle funktioniert es einwandfrei, bei einigen Plugins kann es jedoch zu Problemen kommen.

Um dies zu beheben, füge Folgendes hinzu: android/app/src/main/AndroidManifest.xml im <application> Key:

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

Füge den NSPrivacyAccessedAPICategoryUserDefaults Dictionary-Key zu Ihrer Privacy-Manifest (normalerweise 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>

Wir empfehlen, dies zu deklarieren CA92.1 als Grund für den Zugriff auf UserDefaults API.

Beim Testen von Updates über einen lokalen Server fragt die App nach der Netzwerkberechtigung. Das ist normales Verhalten; bei einem Remote-Server ist das nicht der Fall.

Bei Updates im manuellen Modus sind manche Events schwer abzufangen. So wird beispielsweise ein Update-Fehler direkt vor dem Reload deines JS code ausgelöst, sodass du ihn nicht mehr abfangen kannst.

Eine Alternative ist es, die Bundles aufzulisten und die Error-Stats zu prüfen, um festzustellen, ob das Update fehlgeschlagen ist.

Wir müssen in Zukunft eine bessere Lösung dafür finden, aber das hat aktuell keine Priorität, da der Auto-Modus der empfohlene Weg für Updates ist.

PRs sind willkommen, um uns bei der Verbesserung zu helfen.

falls dein CLI Probleme hat, etwas auszuführen,

Prüfen, ob appId und appName sind in deiner capacitor.config.ts

Folge der Anleitung in der offiziellen Doku:

Wenn du es nutzt Bekannte Probleme Um die Arbeit an nativen Plugins zu planen, verbinde sie mit Verwendung von @capgo/capacitor-updater für die native Funktion in der Verwendung von @capgo/capacitor-updater, Capgo Plugin-Verzeichnis für den Produkt-Workflow im Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für das Implementierungsdetail in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für das Implementierungsdetail beim Hinzufügen oder Aktualisieren von Plugins, und Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow bei den Ionic Enterprise Plugin-Alternativen.