Zum Inhalt springen

Debugging

GitHub

Wenn du eine Cloud-Ablehnung code bekommst und tiefergehende Anleitungen zur Behebung brauchst, siehe Häufige Update-Probleme.

Capgo-Logs können Metadaten für das Ereignis enthalten. Filtere im Dashboard nach der snake_case-Aktion code und klicke auf die Metadatenzelle, um die vollständige JSON-Payload zu kopieren. Metadaten sind besonders nützlich für Crash- und WebView-Ereignisse, da sie die Fehlermeldung, die Quell-URL, Zeile und Spalte, den Prozessstatus, den Speicherdruck oder den plattformspezifischen Grund enthalten können. Ältere Logs können noch die in Klammern aufgeführten Legacy-camelCase-Aliase anzeigen.

Jeder Abschnittstitel entspricht der Aktion code, die in der Console-Logs-Tabelle angezeigt wird, sodass du direkt darauf verlinken kannst.

Plan-Limits und normale Antworten

Abschnitt „Plan-Limits und normale Antworten“

Backend-Ablehnungen im Zusammenhang mit Abrechnung, Throttling oder Nicht-Fehlerzuständen.

Was das bedeutet

Capgo hat Traffic erkannt, der offenbar von Google oder Cloud-Infrastruktur kommt. Updates, die jünger als vier Stunden sind, werden ignoriert, damit Bot-Traffic nicht als abrechenbare Geräte zählt.

Was zu tun ist

Ignoriere dies bei echten Nutzern. Versuche es erneut über normale Netzwerke und echte Geräte oder warte und prüfe später erneut.

Was das bedeutet

Deine App ist so konfiguriert, dass Anfragen aus bekannten Google- und Apple-Datacenter-IP-Bereichen blockiert werden. Der Schutz gilt für Update-Checks, Statistiken und Channel-Self-Anfragen, sodass cloud-basierte Probes und Provider-Runner diese Antwort erhalten können, selbst wenn die App-Konfiguration ansonsten gültig ist.

Was zu tun ist

Erneut von einem physischen Gerät in einem normalen Benutzernetzwerk versuchen. Wenn der vom Provider ausgehende Traffic beabsichtigt ist, deaktiviere vorübergehend den Provider-Infrastruktur-Anfragen blockieren in der App- Informationen Tab, und aktiviere ihn nach dem Test wieder. Neue Apps aktivieren diese Einstellung standardmäßig; bestehende Apps behalten ihre bisherige deaktivierte Einstellung bei, bis sie geändert wird.

Was das bedeutet

Deine Organisation hat ihr Plan- oder Gerätelimit erreicht. Das Gerät erhält keine Updates, bis du deinen Plan upgradest oder der nächste Abrechnungszyklus die Nutzung zurücksetzt.

Was zu tun ist

Upgrade deinen Plan im Dashboard oder warte auf den nächsten Abrechnungszyklus.

Was das bedeutet

Das Gerät hat bereits das neueste Bundle für seinen Channel. Das ist ein normaler Zustand, kein Fehler.

Was das bedeutet

Das Gerät hat in kurzer Zeit zu viele Update- oder Channel-Anfragen gesendet.

Was zu tun ist

Rufe Update-APIs nicht in Render-Loops auf. Rufe setChannel / getChannel nur bei Benutzeraktionen auf und setze defaultChannel in einem capacitor.config.

Ablehnungen durch das Backend aufgrund ungültiger nativer Versionsmetadaten.

Was das bedeutet

Die native App-Version in der config fehlt oder ist keine gültige semver (x.y.z).

Was zu tun ist

Setzen Sie plugins.CapacitorUpdater.version zu gültiger semver, überprüfe sie im SemVer-Tester, baue dann die native App neu und installiere sie erneut.

Ablehnungen durch das Backend, wenn die Kanalrichtlinie eine Plattform, einen Build-Typ oder eine Geräteklasse blockiert.

Was das bedeutet

Das Gerät läuft unter iOS, aber iOS-Updates sind für diesen Channel deaktiviert.

Was zu tun ist

Aktiviere iOS im Channel, falls das versehentlich passiert ist, oder leite iOS-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.

Was das bedeutet

Das Gerät läuft unter Android, aber Android-Updates sind für diesen Channel deaktiviert.

Was zu tun ist

Aktiviere Android im Channel, falls das versehentlich passiert ist, oder leite Android-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.

Was das bedeutet

Das Gerät läuft unter Electron, aber Electron-Updates sind für diesen Channel deaktiviert.

Was zu tun ist

Aktiviere Electron im Channel, falls dies versehentlich passiert ist, oder leite Electron-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.

Was das bedeutet

Das Gerät ist ein Development-Build, aber Dev-Builds sind für diesen Channel blockiert.

Was zu tun ist

Erlaube Dev-Builds in einem Test-Channel oder behalte diesen Channel nur für Releases bei und verschiebe Dev-Geräte woanders hin.

Was das bedeutet

Ein Production-Build hat /updatesaufgerufen, aber Production-Updates sind für diesen Channel blockiert.

Was zu tun ist

Erlaube Produktions-Updates in diesem Channel, falls dies ein Fehler war, oder leite Produktions-Builds in den richtigen Channel um.

Was das bedeutet

Ein echtes Telefon oder Tablet wurde blockiert, da dieser Channel echte Geräte blockiert.

Was zu tun ist

Aktiviere Real-Device-Updates, falls dies ein Fehler war, oder behalte die Einschränkung bei und leite Real-Devices an einen anderen Channel weiter.

Was das bedeutet

Das Gerät ist ein Emulator, aber Emulator-Updates sind für diesen Channel deaktiviert.

Was zu tun ist

Aktiviere Emulator-Updates in einem Test-Channel oder behalte diesen Channel als Emulator-blockiert bei und nutze einen anderen Channel für die Emulator-Validierung.

Ablehnungen durch das Backend, wenn semver- oder Metadatenregeln das Ziel-Bundle blockieren.

Was das bedeutet

Auto-Update ist durch die Kanal-Kompatibilitätsrichtlinie deaktiviert. Die Metadaten enthalten auto_update mit einer passenden Regel wie major, minor, patch, metadata, oder none.

Was zu tun ist

Ändere die Auto-Update-Richtlinie des Channels, um den gewünschten Rollout zu ermöglichen.

Was das bedeutet

Der Channel hat ein Bundle, das älter ist als die Geräte-Baseline, und blockiert das Senden von Updates unter der nativen Version.

Was zu tun ist

Veröffentliche ein Bundle, das mindestens der nativen Baseline entspricht, oder deaktiviere den Under-Native-Schutz im Channel.

Was das bedeutet

Der Channel erfordert min_update_version, aber die native Version des Geräts liegt unter diesem Schwellenwert.

Was zu tun ist

Setzen Sie min_update_version im Ziel-Bundle oder Release aus einer neueren nativen Version.

Was das bedeutet

Der Channel blockiert Sprünge über Hauptversionen, zum Beispiel 1.x.x zu 2.x.x.

Was zu tun ist

Richten Sie die Channel-Strategie nach Ihrem Major-Rollout-Plan aus oder erlauben Sie Major-Sprünge für diese Track. Siehe Häufige Update-Probleme.

Was das bedeutet

Der Channel blockiert Minor-Versionssprünge relativ zur nativen Baseline des Geräts (version_build), zum Beispiel 1.2.3 zu 1.3.0.

Was zu tun ist

Richten Sie die Channel-Strategie nach Ihrem Minor-Rollout-Plan aus oder erlauben Sie Minor-Sprünge für diese Track.

Was das bedeutet

Der Channel blockiert Patch-Level-Änderungen, während dasselbe MAJOR.MINOR.PATCH Präfix beibehalten wird; nur Suffix-Änderungen sind erlaubt.

Was zu tun ist

Richten Sie den Release-Rhythmus an der Channel-Richtlinie aus oder erlauben Sie Patch-Sprünge für diesen Track.

Backend-Ablehnungen aufgrund fehlender oder inkompatibler Channel-Konfiguration.

Was das bedeutet

Das Gerät hat versucht, sich selbst einem privaten Channel zuzuweisen, der keine Geräte-Selbstzuweisung erlaubt (allow_device_self_set ist false) und der Channel ist nicht öffentlich.

Was zu tun ist

Aktivieren allow_device_self_set im Channel oder stellen Sie das Gerät auf einen öffentlichen oder erlaubten Channel um.

Was das bedeutet

Der Channel nutzt disable_auto_update: "version_number" aber das Bundle min_update_version ist null, daher kann Capgo nicht entscheiden, welche Geräte ein Update erhalten sollen.

Was zu tun ist

Ergänze die fehlende Konfiguration für diese Regel oder wechsle zu einem einfacheren Auto-Update-Modus.

Was das bedeutet

Es ist kein Standard-Channel konfiguriert und das Gerät hat keine Channel-Überschreibung.

Was zu tun ist

Setzen Sie einen Standard-Channel im Dashboard oder konfigurieren Sie defaultChannel in the build.

Backend-Ablehnungen, wenn Capgo das Bundle nicht bereitstellen oder entschlüsseln kann.

Was das bedeutet

Capgo konnte keine gültige signierte Download-URL generieren und es war kein Manifest-Fallback verfügbar.

Was zu tun ist

Bundle erneut hochladen, Manifeste neu generieren und R2- oder öffentliche Bundle-Einstellungen überprüfen.

Was das bedeutet

Das dem Channel zugewiesene Bundle hat keinen herunterladbaren Inhalt: kein external_url, kein r2_path, keine eingebaute Version und keine Manifest-Einträge.

Was zu tun ist

Version neu bauen und erneut hochladen, dann prüfen, ob das Bundle echte Dateiinhalt enthält.

Was das bedeutet

The device encryption public key does not match the key used to encrypt the bundle. Metadata can include device_key_id, bundle_key_id, und version.

Was zu tun ist

Vergleiche die Key-IDs von Gerät und Bundle in der Konsole. Veröffentliche mit demselben Key und passenden CLI/Plugin-Versionen.

Ablehnungen des Backends aufgrund der App-Konfiguration oder nicht unterstützter Updater-Versionen.

Was das bedeutet

Die App hat eine benutzerdefinierte Geräte-ID gesendet, aber diese App akzeptiert keine benutzerdefinierten IDs, daher wird die ID ignoriert.

Was zu tun ist

Sende keine benutzerdefinierten IDs mehr oder aktiviere sie nur, wenn dein Workflow dies erfordert.

Was das bedeutet

server.url ist in der Capacitor-Konfiguration gesetzt, sodass die WebView eine Remote-URL statt lokaler Bundle-Dateien lädt. Capgo Live Updates benötigen lokale Dateien und server.url wird in der Produktion nicht empfohlen.

Was zu tun ist

Entfernen oder leeren server.url für Production-Builds und um Update-Payloads lokal zu halten. Dieser code kann entweder als Ablehnung durch das Backend oder als Status auf dem Gerät erscheinen.

Was das bedeutet

Das Updater-Plugin ist v4, was vom Backend nicht mehr akzeptiert wird.

Was zu tun ist

Plugin und CLI auf v5+ upgraden (v8 empfohlen) mit Capacitor v5+, neu bauen und Bundle-Metadaten neu veröffentlichen.

Geräteseitige Events für den normalen Update-Flow, die Aktivierung und den Rollback.

Was das bedeutet

Interne Test-Aktion, um die Stats-Pipeline zu verifizieren.

Was das bedeutet

Capgo hat Download-Infos für eine neue Version an das Gerät gesendet.

Was das bedeutet

Ein Bundle wurde auf dem Gerät aktiviert.

Was das bedeutet

Die Aktivierung eines Bundles auf dem Gerät ist fehlgeschlagen.

Was zu tun ist

Check native logs with npx @capgo/cli@latest app debug prüfen und Bundle-Integrität, Pfade und notifyAppReady flow.

Was das bedeutet

Das Gerät ist auf das eingebaute Bundle zurückgesetzt.

Was das bedeutet

Ein Bundle wurde auf dem Gerät gelöscht.

Geräteereignisse für den Download-Fortschritt, die Archivvalidierung und Installationsfehler.

Was das bedeutet

Die Download-Sequenz wurde bei 0 % Fortschritt gestartet.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 10 % angezeigt.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 20 % angezeigt.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 30 %.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 40 %.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 50 %.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 60 %.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 70 % angezeigt.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 80 % angezeigt.

Was das bedeutet

Ein neues Bundle wurde heruntergeladen – Fortschritt bei 90 % angezeigt.

Was das bedeutet

Der Bundle-Download wurde erfolgreich abgeschlossen.

Was das bedeutet

Das Gerät hat mit dem Download des Update-Manifests begonnen.

Was das bedeutet

Das Gerät hat den Download des Update-Manifests abgeschlossen.

Was das bedeutet

Das Gerät hat mit dem Download des Bundle-Archivs begonnen.

Was das bedeutet

Das Gerät hat den Download des Bundle-Archivs abgeschlossen.

Was das bedeutet

Ein Manifesteintrag konnte nicht heruntergeladen werden. version_name verwendet version:fileName zur Identifizierung des Assets.

Was zu tun ist

Repariere das fehlende oder blockierte Asset, generiere das Manifest neu und lade das Bundle erneut hoch.

Was das bedeutet

Die Prüfsummenvalidierung der Manifestdatei ist fehlgeschlagen.

Was zu tun ist

Lade das Bundle mit einer aktuellen CLI-Version hoch und überprüfe die Manifest-Checksummen.

Was das bedeutet

Ein Manifest-File ist beim Brotli-Entpacken fehlgeschlagen.

Was zu tun ist

Prüfe die Kompressionseinstellungen und lade die betroffenen Assets erneut hoch.

Was das bedeutet

Das Bundle konnte nicht heruntergeladen werden.

Was zu tun ist

Netzwerkverbindung, Ablaufdatum der signierten URL, Erreichbarkeit des CDN und Speicherplatz auf dem Gerät prüfen.

Was das bedeutet

Das Bundle wurde installiert, aber die App hat nie aufgerufen notifyAppReady, daher hat Capgo ein Rollback durchgeführt.

Was zu tun ist

Rufe notifyAppReady() nachdem deine App das Bootstrapping abgeschlossen hat. Native-Log-Text notifyAppReady was not called, roll back current bundle entspricht diesem code.

Was das bedeutet

Die Checksummenprüfung des heruntergeladenen Bundles ist fehlgeschlagen. Häufige Ursachen: ein CRC32-vs.-SHA256-Mismatch durch einen alten CLI-Upload oder ein Encryption-Key-Mismatch bei älteren Plugins, die einen Decryption-Fehler als Checksum-Fehler melden.

Was zu tun ist

Erneut hochladen mit einem aktuellen CLI/Plugin (SHA256). Bei Verwendung von Verschlüsselung sicherstellen, dass der öffentliche App-Schlüssel mit dem Upload-Schlüssel übereinstimmt, oder auf Plugin 8.3.0+ upgraden für explizite keyMismatch Fehler.

Was das bedeutet

The downloaded bundle failed to decrypt.

Was zu tun ist

Verschlüsselungsschlüssel prüfen und das Bundle mit dem passenden Schlüsselpaar erneut hochladen.

Was das bedeutet

Das Zip-Archiv enthält ungültige Windows-Pfade.

Was zu tun ist

Das Bundle auf Unix-Pfaden neu erstellen oder die Archivpfade vor dem Upload bereinigen.

Was das bedeutet

Die Dateipfade im Zip-Archiv sind nicht kanonisch.

Was zu tun ist

Archivpfadgenerierung vor dem Upload korrigieren.

Was das bedeutet

Das ZIP enthält ungültige Verzeichnispfade.

Was zu tun ist

Archivstruktur vor dem Upload korrigieren.

Was das bedeutet

Das Gerät konnte das heruntergeladene Bundle nicht entpacken.

Was zu tun ist

Integrität des Archivs und unterstützte Kompression prüfen.

Was das bedeutet

Download fehlgeschlagen, da das Gerät keinen Speicher mehr hatte.

Was zu tun ist

Bundle-Größe reduzieren oder auf einem Gerät mit mehr freiem Speicher erneut versuchen.

Crash-, Speicher- und WebView-Diagnosen auf Geräteebene. Metadaten-JSON immer im Dashboard prüfen.

Was das bedeutet

Die App wurde in den Hintergrund verschoben.

Was das bedeutet

Die App ist in den Vordergrund gewechselt.

Was das bedeutet

Crash in der JavaScript- oder Capacitor-Schicht. Metadaten können Message, Stack, Source und den aktiven Bundle-Kontext enthalten.

Was zu tun ist

Metadaten und native Logs prüfen. Kombiniere JS- und native Error-Reporting-Tools (z. B. Sentry), um den fehlerhaften code-Pfad zu finden.

Was das bedeutet

Crash auf der nativen Plattform. Die Metadaten können Plattform, Grund, Stack und Prozessdetails enthalten.

Was zu tun ist

Nutze die Crash-Logs von Xcode oder Logcat und korreliere sie mit dem aktiven Bundle aus den Metadaten.

Was das bedeutet

Android Application Not Responding-Ereignis.

Was zu tun ist

ANR-Traces in Logcat untersuchen und blockierende Arbeit auf dem Haupt-Thread nach Updates reduzieren.

Was das bedeutet

Das Betriebssystem hat die App aufgrund von Speicherdruck beendet.

Was zu tun ist

Speicherverbrauch nach der Aktivierung des Updates reduzieren und Metadaten auf verfügbare Speicher-Signale prüfen.

Was das bedeutet

The OS killed the app for excessive resource use.

Was zu tun ist

Metadaten für den Ressourcentyp oder den Plattformgrund prüfen.

Was das bedeutet

Updater oder Startvorgang fehlgeschlagen, bevor die normale Laufzeit bereit war.

Was zu tun ist

Metadaten für den fehlerhaften Schritt und die Fehlermeldung prüfen.

Was das bedeutet

iOS-Speicherwarnung.

Was zu tun ist

Speicherkontext in den Metadaten prüfen und den Spitzenverbrauch nach Updates reduzieren.

Was das bedeutet

Nicht abgefangener JavaScript-Fehler im WebView. Die Metadaten können Message, Quell-URL, Zeile, Spalte und Stack enthalten.

Was zu tun ist

Error Reporting in der JS- und der nativen Ebene einbauen, um die exakt fehlerhafte Zeile in Production zu erfassen.

Was das bedeutet

Unbehandelte Promise-Rejection im WebView.

Was zu tun ist

Async-Fehler mit JS- und Native-Error-Reporting erfassen.

Was das bedeutet

Eine WebView-Ressource konnte nicht geladen werden.

Was zu tun ist

Nutze die Metadaten-URL und Statusdetails, um defekte Assets oder Netzwerkregeln zu beheben.

Was das bedeutet

Die Content Security Policy hat eine Ressource blockiert.

Was zu tun ist

CSP über die Metadata-Directive und Details zu blockierten URIs anpassen.

Was das bedeutet

Die vorherige WebView-Sitzung wurde nicht sauber beendet, was auf Crash-Loops nach einem Update hindeuten kann.

Was zu tun ist

Korrelate mit Crash- und WebView-Fehlerereignissen vor und nach dem Neustart.

Was das bedeutet

Der Android-WebView-Renderer-Prozess wurde beendet.

Was zu tun ist

Untersuche Renderer-Crash-Signale in Metadaten und nativen Logs.

Was das bedeutet

Der iOS-WebView-Content-Prozess wurde beendet.

Was zu tun ist

Untersuche aktives Bundle und Seiten-URL aus den Metadaten.

Diese Timing-Events beschreiben den App-Lebenszyklus. Sie belegen nicht, dass alle Funktionen funktionieren.

Was das bedeutet

Die App hat eine Launch-Messung gestartet. Dies ist ein normaler Lebenszyklus-Event.

Was das bedeutet

Die App hat gemeldet, dass sie bereit ist. Timing-Metadaten können helfen, den Start zwischen Versionen zu vergleichen. Dies ist ein normaler Lebenszyklus-Event.

Was das bedeutet

Die App hat innerhalb ihres Launch-Messfensters nicht gemeldet, dass sie bereit ist.

Was zu tun ist

Prüfe Startfehler und die Geräte-Timeline. Stelle sicher, dass der Start den Readiness-Call erreicht, und rufe notifyAppReady() nach erfolgreichem Bootstrapping auf. Vergleiche Timing und Fehler mit dem vorherigen Bundle, bevor du Timeout-Einstellungen änderst.

Was das bedeutet

Die WebView hat gemeldet, dass der DOM-Inhalt geladen wurde. Dies ist ein normales Timing-Ereignis, kein Beweis dafür, dass alle Ressourcen oder App-Funktionen bereit sind.

Was das bedeutet

Die WebView hat einen Page Load gemeldet. Dies ist ein normales Timing-Ereignis. Vergleiche die Dauer-Metadaten zwischen Versionen, wenn du langsame Ladezeiten untersuchst.

Was das bedeutet

Die App hat ein Navigationsereignis gemeldet. Dies ist normale Telemetrie. Route- und Dauer-Metadaten ermöglichen Vergleiche pro Screen, wenn die App diese bereitstellt.

Was das bedeutet

Ein Bundle wurde für die Aktivierung bei einem späteren App-Start eingeplant. Das Einplanen ist normal und bedeutet nicht, dass das Bundle bereits aktiviert wurde.

Was das bedeutet

Der ausgewählte Channel ist pausiert. Der Server sendet kein Update und das Gerät behält sein aktuelles Bundle. Dies kann eine bewusste Release-Strategie sein.

Was zu tun ist

Prüfe, warum der Kanal pausiert wurde und ob ein Wiederaufnehmen sicher ist. Führe ein Rollout nicht automatisch fort, nur um dieses Ereignis zu unterdrücken.

Was das bedeutet

Das Gerät konnte ein heruntergeladenes Bundle nicht abschließen.

Was zu tun ist

Prüfe Metadaten und native Logs auf Dateisystem- oder Validierungsfehler. Verifiziere den verfügbaren Speicher und das hochgeladene Archiv, bevor du es erneut versuchst.

Was das bedeutet

A manifest file path failed validation or could not be used during the update.

Was zu tun ist

Prüfe den fehlerhaften Pfad in den nativen Logs, korrigiere die Dateistruktur des Bundles und lade es erneut hoch. Umgehe die Pfadvalidierung nicht.

Was das bedeutet

Der Updater benötigt Checksum-Metadaten, die für diesen Download fehlen.

Was zu tun ist

Lade das Bundle erneut mit dem aktuellen CLI hoch und stelle sicher, dass die Checksum-Metadaten vorhanden sind. Deaktiviere keine Integritätsprüfungen, um den Fehler zu umgehen.

Was das bedeutet

Das Gerät hat nicht genügend Speicherplatz für das Update.

Was zu tun ist

Gib Gerätespeicher frei, reduziere die Bundle-Größe, wo möglich, und versuche es auf einem betroffenen Testgerät erneut. Das lässt sich nicht durch eine Änderung der Versionsrichtlinie eines Kanals beheben.

Was das bedeutet

Ein Update-Check ist fehlgeschlagen. Dieses Ereignis allein zeigt nicht, ob die Ursache in der Verbindung, der Serververfügbarkeit oder einer konkreten Ablehnung der Antwort liegt.

Was zu tun ist

Sieh dir die Response-Metadaten und die umgebenden nativen Logs an. Prüfe die Verbindung und die konfigurierte Update-URL und schlage vor dem Ändern von Einstellungen einen konkreten Backend-Fehler unter „Common Update Problems“ nach.

Gerätebezogene Kontextereignisse, die helfen, das Update-Verhalten mit OS-, nativen Versions- oder Channel-Änderungen zu korrelieren.

Was das bedeutet

Geräte-OS-Version hat sich zwischen den Prüfungen geändert.

Was das bedeutet

Die native App-Store-Version hat sich geändert, was hilft, native von Web-Bundle-Änderungen zu trennen.

Was das bedeutet

Das Gerät hat seinen aktuellen Channel abgefragt.

Was das bedeutet

Ein Channel wurde erfolgreich für das Gerät festgelegt.

Was das bedeutet

Die App wurde deinstalliert oder die Capgo-Daten wurden gelöscht.

  • SUCCESS: Bundle-Installation abgeschlossen
  • ERROR: Installation oder Download fehlgeschlagen
  • PENDING: Download abgeschlossen, Veröffentlichung ausstehend
  • DELETED: Bundle gelöscht, wird noch für Statistiken angezeigt
  • DOWNLOADING: Bundle wird derzeit heruntergeladen

Für Capgo-Cloud-Nutzer gibt es einen Debug-Befehl.

Terminalfenster
npx @capgo/cli@latest app debug

Damit kannst du alle Ereignisse in der App überprüfen und eine Lösung finden, falls Updates nicht ausgeführt werden.

um Ihre Logs in Xcode zu finden

um Ihre Logs in Android Studio zu finden

  • Failed to download from entspricht download_fail
  • notifyAppReady was not called, roll back current bundle entspricht update_fail

Zum Debuggen auf iOS musst du die App auf deinen Computer dumpen. So geht’s:

Xcode bietet eine integrierte Funktion, um das Dateisystem von Apps zu untersuchen, die Entwickler auf einem iOS-Gerät installiert haben. Xcode-Menü „Fenster“ mit der Option „Geräte und Simulatoren“

Um dies zu erreichen:

  • Verbinde dein Gerät mit deinem Mac und wähle in der Xcode-Menüleiste „Fenster > Geräte“ aus.
  • Wähle dein Gerät im linken Bereich unter „Geräte“ aus.
  • Dadurch wird eine Liste der vom Entwickler installierten Apps für dieses Gerät angezeigt.
  • Wähle die App aus, die du untersuchen möchtest, und klicke dann auf das Drei-Punkte-Symbol am unteren Rand des Bildschirms.
  • Hier kannst du das aktuelle Dateisystem anzeigen, indem du einen Snapshot davon herunterlädst.

Xcode-Panel „Geräte“ mit der Option zum Herunterladen des App-Containers

Die Auswahl von „Download Container…“ lädt einen Snapshot des Dateisystems herunter und exportiert ihn als .xcappdata-Datei, die Sie durchsuchen können.

Heruntergeladene xcappdata-Datei mit dem Kontextmenü „Paketinhalt anzeigen“

Klicke mit der rechten Maustaste auf diese Datei und wähle „Paketinhalt anzeigen“, um den Ordner zu öffnen.

Öffnen Sie den App-Data-Ordner. Sie sollten nun einige Ordner wie Documents, Library, tmp usw. sehen.

Ordnerstruktur des iOS-App-Containers mit den Ordnern Documents und Library

Dann finden Sie eine Version in 2 Ordnern:

library/NoCloud/ionic_built_snapshots ist nach dem Neustart der App erforderlich

und documents/versions für Hot Reload

Um unter Android zu debuggen, musst du über Android Studio auf das Gerät zugreifen:

  • Klicke auf View > Tool Windows > Device File Explorer oder auf die Schaltfläche Device File Explorer in der Tool-Window-Leiste, um den Device File Explorer zu öffnen.
  • Wähle ein Gerät aus der Dropdown-Liste aus.
  • Öffne den Pfad data/data/APP_NAME/ wo APP_NAME ist deine App-ID.

Android Studio Device File Explorer mit dem App-Datenverzeichnis

Finde dann den versions Ordner, um alle Versionen anzuzeigen

Wenn du es nutzt Debugging 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.