Zum Inhalt springen

Fehlersuche

Wenn Sie ein Cloud-Verweigerungszeichen code erhalten und konkrete Schritte zur Behebung benötigen, sehen Sie sich Häufige Update-Probleme.

Capgo-Protokolle können Metadaten für das Ereignis enthalten. Im Dashboard verwenden Sie den Aktionen-Filter, um nach dem im folgenden Listen aufgeführten snake_case-Aktion code zu filtern, und klicken Sie auf die Metadaten-Zelle, um den vollständigen JSON-Payload zu kopieren. Metadaten sind insbesondere für Crash- und WebView-Ereignisse nützlich, da sie Kontext wie Fehlermeldung, Quell-URL, Zeilen- und Spaltennummer, Prozesszustand, Speicherdynamik oder plattformabhängige Gründe enthalten können. Ältere Protokolle können noch die legacy camelCase-Aliase in Klammern anzeigen.

codeBeschreibung
ungültige IP-Adresse (__CAPGO_KEEP_0__)Der Benutzer befindet sich in einem Google-Datencenter und die Aktualisierung ist weniger als 4 Stunden alt. Dies wird durchgeführt, um Google-Bots-Geräte als Geräte in Ihrem Konto zu vermeiden.
__CAPGO_KEEP_1__ (__CAPGO_KEEP_1__, zuvor __CAPGO_KEEP_1__)Zeigt an, dass Sie die Grenzen Ihres Plans erreicht haben und das Gerät keine Updates erhalten wird, bis Sie aufsteigen oder bis zum nächsten Monat.
__CAPGO_KEEP_2__ (__CAPGO_KEEP_2__)Das Gerät hat die neueste verfügbare Version.
__CAPGO_KEEP_3__Die native Version folgt nicht der erwarteten semantischen Versionsformat.
iOS-Plattform deaktiviert (disablePlatformIos)Das Gerät befindet sich auf der iOS-Plattform, aber diese ist in den Kanal-Einstellungen deaktiviert.
Android-Plattform deaktiviert (disablePlatformAndroid)Das Gerät befindet sich auf der Android-Plattform, aber diese ist in den Kanal-Einstellungen deaktiviert.
Auto-Update ist durch Kompatibilitätsrichtlinie deaktiviert. Metadata enthält (mit einer Übereinstimmungsregel wie), oder auto_update Auto-Update ist durch Kompatibilitätsrichtlinie deaktiviert. Metadata enthält __CAPGO_KEEP_0__. major, minor, patch, metadatadisable_auto_update_under_native none.
Auto-Update ist unter native Umgebungen deaktiviert. (__CAPGO_KEEP_0__)Das Gerät hat die Version (1.2.3), und der Kanal hat ein Update (1.2.2) unter der Geräteversion, aber das ist in den Kanal-Einstellungen deaktiviert.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Das Gerät hat ein Entwicklungsbuild, aber das ist in den Kanal-Einstellungen deaktiviert.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Das Gerät ist ein Emulator, aber das ist in den Kanal-Einstellungen deaktiviert.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Es ist nicht möglich, eine gültige signierte URL für das Bundle-Download zu generieren. Dies tritt auf, wenn die Bundle-URL-Generierung fehlschlägt oder eine ungültige URL zurückgibt und kein Manifest als Ausfallsicherheit verfügbar ist.
Kann nicht über einen privaten Kanal aktualisiert werden (Kann nicht über einen privaten Kanal aktualisiert werden)Das Gerät versuchte, sich mit einem privaten Kanal selbst zu verbinden, aber die Kanal-Einstellungen erlauben keine Geräteselbstverbindung (allow_device_self_set Kanal ist falsch konfiguriert
Kanal ist falsch konfiguriert (Der Kanal ist so konfiguriert, dass die automatische Aktualisierung über die Versionsnummer ()) deaktiviert ist, aber das Bundle-disable_auto_update: 'version_number'Feld ist null, was es unmöglich macht, zu bestimmen, welche Geräte die Aktualisierung erhalten sollen. min_update_version Automatische Aktualisierung auf Basis von Metadaten deaktiviert
Automatische Aktualisierung auf Basis von Metadaten deaktiviert (Der Kanal ist so konfiguriert, dass die automatische Aktualisierung über die Versionsnummer ()Die automatische Aktualisierung ist durch Versionsnummer-Metadaten deaktiviert. Der Kanal erfordert, dass die Geräteversion mindestens min_update_versionaber die aktuelle Geräteversion ist niedriger als dieser Schwellenwert.
disable_auto_update_to_major (disableAutoUpdateToMajor)Kanaleinstellung disable_auto_update: 'major' verhindert Aktualisierungen, die die Hauptversionsnummer erhöhen, wie z.B. das Verhindern von Aktualisierungen auf 1.x.x disable_auto_update_to_minor 2.x.x.
disableAutoUpdateToMinor (Kanaleinstellung)verhindert Aktualisierungen, die die Minor-Versionsnummer erhöhen, wie z.B. das Verhindern von Aktualisierungen auf disable_auto_update: 'minor' from updating to 1.2.x from updating to 1.3.x.
disable_auto_update_to_patch (disableAutoUpdateToPatch)Kanal-Einstellung disable_auto_update: 'patch' Verhindert Updates, die die Versionsnummer der Patches erhöhen würden, oder ermöglicht nur Patches auf derselben Haupt- und Minorversion.
fehlender_Bundle (missingBundle)Der zu diesem Kanal zugewiesene Bundle hat keine herunterladbaren Inhalte. Das bedeutet, dass das Bundle keine external_urlkeine r2_pathes ist keine integrierte Version und es stehen keine Manifesteinträge zum Herunterladen zur Verfügung.
kein_Kanal (Kein Kanal oder Überschreibung)Für diese App ist keine Standardkanal konfiguriert und das Gerät hat keine spezifische Kanal-Überschreibung zugewiesen. Zumindest einer muss vorhanden sein, damit Updates funktionieren.
rate_geschützt (rateLimited)Das Gerät wurde aufgrund von zu vielen Anfragen rate-geschützt.
schlüssel_id_mismatch (keyMismatch)Die öffentliche Verschlüsselungsschlüssel des Geräts entspricht nicht der öffentlichen Schlüssel, die zum Verschlüsseln des Pakets verwendet wurde. Die Metadaten enthalten device_key_id, bundle_key_id, und version um die Mismatch zu identifizieren.
codeBeschreibung
pingInterne Testaktion, die verwendet wird, um sicherzustellen, dass das Statistiksystem korrekt funktioniert.
getDie Informationen für die Herunterladung der neuen Version wurden an das Gerät gesendet.
deleteEin Bundle wurde auf dem Gerät gelöscht.
setEin Bundle wurde auf dem Gerät gesetzt.
set_failDas Bundle konnte nicht gesetzt werden.
resetDas Gerät wurde auf die ursprüngliche Einstellung zurückgesetzt. builtin paketieren.
downloaden_XXEin neues Paket wurde heruntergeladen - der Fortschritt wird durch XX% (Zehner) angezeigt.
heruntergeladenDas neue Paket ist heruntergeladen.
manifest_startenDas Gerät begann, das Update-Manifest herunterzuladen.
manifest_completeDas Gerät hat das Update-Manifest heruntergeladen.
zip_startenDas Gerät begann, das Paketarchiv herunterzuladen.
zip_completeDas Gerät hat das Bundle-Archiv heruntergeladen.
__CAPGO_KEEP_0__Ein Manifesteintrag konnte nicht heruntergeladen werden; der Stats-Payload-Teil version_name __CAPGO_KEEP_0__ version:fileName um den Asset zu lokalisieren.
__CAPGO_KEEP_0__Das Manifest-File hat die Prüfsummenüberprüfung nicht bestanden.
__CAPGO_KEEP_0__Das Manifest-File konnte nicht mit Brotli entpackt werden.
__CAPGO_KEEP_0__Der neue Bundle konnte nicht heruntergeladen werden.
__CAPGO_KEEP_0__Die neue Bundle wurde installiert, aber fehlte die Aufforderung notifyAppReady.
checksum_failDas neue Bundle fehlte die Validierung des Checksums. Dies kann auf mehrere Gründe zurückzuführen sein: 1) Checksumm-Typ-Mismatch: Die neueste Version von CLI und Plugins (Version 5.10.0+, 6.25.0+ oder 7+) verwenden SHA256-Checksums, während ältere Plugins CRC32 verwendeten. Wenn Sie einen Checksum-Fehler sehen, überprüfen Sie, ob der Checksum ist CRC32 (ein kürzerer Hash) anstatt SHA256. Dies deutet darauf hin, dass das Bundle mit einer alten Version von CLI hochgeladen wurde. Überprüfen Sie Ihre Bundle-Version im Capgo-Dashboard - Bundles, die seit Version 5.10.0/6.25.0/7 erstellt wurden, sollten SHA256 verwenden. Wenn Sie CRC32-Checksums sehen, stellen Sie sicher, dass Sie die neueste Plugin-Version lokal installiert haben (das CLI überprüft Ihre lokale Plugin-Version, um zu bestimmen, welcher Checksumm-Typ hochgeladen werden soll), dann aktualisieren Sie Ihre CLI und laden Sie das Bundle erneut hoch. 2) Verschlüsselungs-Schlüssel-Mismatch (auf Plugin-Versionen unter 8.3.0 oder 5/6/7.38.0): Bei älteren Plugin-Versionen wird, wenn das Geräts öffentliche Schlüssel nicht mit dem Schlüssel übereinstimmt, der zum Verschlüsseln des Bundles verwendet wurde, die Verschlüsselung stillschweigend fehlschlagen und einen Checksum-Fehler verursachen. Wenn Sie Verschlüsselung verwenden und sehen checksum_fail, stellen Sie sicher, dass der öffentliche Schlüssel in Ihrer App’s capacitor.config.json mit dem privaten Schlüssel übereinstimmt, der zum Hochladen des Bundles verwendet wurde. Die Aktualisierung auf Plugin-Version 8.3.0+ (oder 5/6/7.38.0+) gibt Ihnen ein ordentliches keyMismatch Fehlermeldung vom Server, was diese Probleme einfacher zu diagnostizieren macht.
windows_path_failDie Zip enthält Dateien, die illegale Windows-Pfade enthalten
canonical_path_failDer Pfad der Dateien ist nicht kanonisch
directory_path_failEs gibt einen Fehler im Pfad der Zip-Dateien
unzip_failDie Entpackung ist fehlgeschlagen
low_mem_failDer Download ist fehlgeschlagen, weil auf dem Gerät nicht genug Speicherplatz vorhanden ist
app_moved_to_backgroundDie Anwendung ist in den Hintergrund geschaltet worden
app_moved_to_foregroundDie Anwendung ist in den Vordergrund geschaltet worden
app_crashDer App-Client meldete einen Crash, der vom JavaScript- oder Capacitor-Layer erkannt wurde. Die Metadaten können den Fehler, die Stack-Spur, die Quelle und den aktiven Bundle-Kontext enthalten.
app_crash_nativeDer native Layer meldete einen Plattform-Crash. Die Metadaten können Plattform, Grund, Stack und Prozessdetails enthalten, wenn verfügbar.
app_anrAndroid meldete ein Ereignis "Anwendung nicht reagiert". Die Metadaten können den Grund, den Thread oder die Zusammenfassung der Ausführungstrasse enthalten, wenn verfügbar.
app_killed_low_memoryDer App-Prozess wurde nach Druck auf geringe verfügbare Speicher beendet. Die Metadaten können verfügbare Speicher und Plattform-Signale enthalten, wenn verfügbar.
app_killed_excessive_resource_usageDer Betriebssystem-Client beendete die App wegen übermäßiger Ressourcenverwendung. Die Metadaten können den Ressourcentyp oder die Plattformgründe enthalten, wenn verfügbar.
app_initialization_failureDer Updater oder der App-Start-Workflow scheiterte, bevor die normale Laufzeit bereit war. Die Metadaten können den fehlgeschlagenen Schritt und die Fehlermeldung enthalten.
app_memory_warningiOS meldete eine Warnung vor der Speicherauslastung. Die Metadaten können den aktiven Bundle und den Speicherzustand enthalten, wenn verfügbar.
webview_javascript_errorDer WebView meldete einen unbehandelten JavaScript-Fehler. Die Metadaten können die Nachricht, die Quell-URL, die Zeile, die Spalte und die Stack-Informationen enthalten.
webview_unhandled_rejectionDer WebView meldete einen unbehandelten Versprechenabbruch. Die Metadaten können die Abbruchgründe, die Quell-URL und die Stack-Informationen enthalten.
webview_resource_errorEin WebView-Resource konnte nicht geladen werden. Die Metadaten können die URL, den Status code, den Ressourcentyp und die Fehlermeldung enthalten.
webview_security_policy_violationDer WebView meldete eine Verletzung der Inhaltsicherheitsrichtlinie. Die Metadaten können die blockierte URI, die Richtlinie und die Dokument-URL enthalten.
webview_unclean_restartDie App erkannte eine vorherige WebView-Sitzung, die nicht sauber abgeschlossen wurde. Dies kann bei der Identifizierung von Crash-Schleifen nach einer Aktualisierung helfen.
Der WebView-Rendervorgang ist abgestürzt.Android meldete, dass der WebView-Rendervorgang beendet wurde. Die Metadaten können angeben, ob der Renderer abgestürzt ist und die Renderer-Priorität.
Der WebView-Inhaltsvorgang wurde beendet.iOS meldete, dass der WebView-Inhaltsvorgang beendet wurde. Die Metadaten können den aktiven Bundle und die Seite-URL angeben, wenn verfügbar.
Der Download des Bundles konnte nicht entschlüsselt werden.Der aktuelle Kanal für das Gerät wurde abgefragt.
Der aktuelle Kanal für das Gerät wurde abgefragt. (Ein Kanal wurde erfolgreich für das Gerät gesetzt.)Ein Kanal wurde erfolgreich für das Gerät gesetzt.
Der Download des Bundles konnte nicht entschlüsselt werden. (Der WebView-Inhaltsvorgang wurde beendet.)iOS meldete, dass der WebView-Inhaltsvorgang beendet wurde. Die Metadaten können den aktiven Bundle und die Seite-URL angeben, wenn verfügbar.
entfernenDie Anwendung wurde entfernt oder Capgo Daten wurden gelöscht.
blockiert_durch_server_urlServer.url ist in Ihrer capacitor Konfiguration vorhanden, was bedeutet, dass Capacitor remote URL und lokale Dateien ignoriert, während unser Updater mit lokalen Dateien funktioniert. Server.url wird von Capacitor Entwicklern als schlechte Praxis in der Produktion angesehen und kann zu vielen Problemen und nicht funktionierenden Plugins führen.
  • SUCCESS: Bündel installiert
  • ERROR: Bündel-Installierung oder -Herunterladen fehlgeschlagen
  • PENDING: Herunterladen abgeschlossen, Warteposition
  • DELETED: Bündel wurde gelöscht, aber noch für Statistiken angezeigt
  • DOWNLOADING: Bündel wird derzeit heruntergeladen

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

Terminalfenster
npx @capgo/cli@latest app debug

Mit diesem können Sie alle im App-Verlauf stattfindenden Ereignisse überprüfen und eine Lösung finden, wenn Updates nicht stattfinden.

um Ihre Protokolle in Xcode zu finden

Ihre Protokolle auf Android Studio finden

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

Um auf iOS zu debuggen, müssen Sie die App auf Ihrem Computer auslagern, Sie können es wie folgt tun:

Xcode verfügt über eine eingebaute Funktion zum Inspektorieren des Dateisystems von Entwickler-Apps auf einem iOS-Gerät. Xcode-Menüband mit Option "Geräte und Simulator"

Um dies zu erreichen:

  • Verbinden Sie Ihr Gerät mit Ihrem Mac und wählen Sie in der Xcode-Menüleiste "Geräte" aus.
  • Wählen Sie Ihr Gerät in der linken Spalte unter der "Geräte"-Sektion aus.
  • Dies zeigt eine Liste der von Entwicklern installierten Apps für dieses Gerät an.
  • Wählen Sie die App aus, die Sie inspizieren möchten, und wählen Sie dann das 3-Punkte-Symbol in der unteren linken Ecke der Bildschirmleiste aus.
  • Hier können Sie das aktuelle Dateisystem anzeigen, indem Sie "Download einer Snapshot herunterladen" auswählen.

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

Durch das Auswählen von "Download Container…" wird ein Snapshot des Dateisystems als .xcappdata-Datei heruntergeladen und exportiert, die Sie durchsuchen können.

xcappdata-Datei heruntergeladen mit Kontextmenü 'Inhalt anzeigen'

Rechtsklick auf diese Datei und 'Inhalt anzeigen' auswählen, um das Verzeichnis zu öffnen.

Öffnen Sie das App-Datenspeicher-Verzeichnis und Sie sollten einige Verzeichnisse wie Dokumente, Bibliothek, tmp usw. sehen.

iOS-Anwendungscontainer-Verzeichnisstruktur mit Dokumenten- und Bibliothek-Verzeichnissen

Sie finden dann eine Version in 2 Verzeichnissen:

library/NoCloud/ionic_built_snapshots erforderlich nach dem App-Neustart

und documents/versions für Hot-Reload

Klicken Sie auf 'Ansicht' > 'Tool-Fenster' > 'Geräte-Datei-Explorer' oder klicken Sie auf den 'Geräte-Datei-Explorer'-Schaltfläche in der Werkzeugleiste, um den Geräte-Datei-Explorer zu öffnen.

  • Sie finden dann eine Version in 2 Verzeichnissen:
  • Wählen Sie ein Gerät aus der Dropdown-Liste.
  • Öffnen Sie den Pfad data/data/__CAPGO_KEEP_0__/ wo __CAPGO_KEEP_0__ ist Ihre App-ID.

Android Studio Device File Explorer zeigt die App-Datenspeicherort an

Dann finden Sie das versions Verzeichnis, um alle Versionen zu sehen