Zum Inhalt springen

Debugging

Wenn Sie ein Cloud-Verweigerungszeichen code erhalten und konkrete Abhilfeschritte benötigen, sehen Sie Gemeinsame Update-Probleme.

codeBeschreibung
InvalidIpDer Benutzer befindet sich in einem Google-Datencenter und das Update ist weniger als 4 Stunden alt. Dies wird durchgeführt, um Google-Bots-Geräte als Geräte in Ihrem Konto zu vermeiden.
needPlanUpgrade Bisher needUpgrade)Zeigt an, dass Sie die Grenze Ihres Plans erreicht haben und das Gerät keine Updates erhält, bis Sie aufsteigen oder bis zum nächsten Monat.
keineNeuenDas Gerät hat die neueste verfügbare Version.
disablePlatformIosDas Gerät ist auf der iOS-Plattform, aber das ist in den Kanal-Einstellungen deaktiviert.
disablePlatformAndroidDas Gerät ist auf dem Android-Plattform, aber diese Funktion ist in den Kanal-Einstellungen deaktiviert.
Deaktivieren von Auto-UpdatesHauptversion
DeaktivierenSie die automatische Aktualisierung unter nativeDie Geräteversion ist ("1.2.3), und das Kanal hat eine Aktualisierung.1.2.2Unter der Geräteversion senden, aber das ist in den Kanal-Einstellungen deaktiviert.
Entwicklungsbuild deaktivierenDas Gerät hat eine Dev-Build, aber diese ist in den Kanal-Einstellungen deaktiviert.
Deaktivieren Sie den EmulatorDas Gerät ist ein Emulator, aber das ist in den Kanal-Einstellungen deaktiviert.
Bundle kann nicht geladen werden.Fehler beim Generieren einer gültigen signierten URL für die Bundle-Download. Dies tritt auf, wenn die Erzeugung der Bundle-URL fehlschlägt oder eine ungültige URL (ohne http/https) zurückgibt und keine Manifestdatei als Ausweichmöglichkeit verfügbar ist.
Kann nicht über privaten Kanal aktualisiert werden.Das Gerät versuchte, sich mit einem privaten Kanal zu verbinden, aber die Kanal-Einstellungen erlauben keine Geräte-Selbstverbindung.allow_device_self_set ist falsch und der Kanal ist nicht öffentlich.
Kanal ist nicht korrekt konfiguriertDie Kanal ist so konfiguriert, dass die automatische Aktualisierung durch Versionsnummer deaktiviert ist ("disable_auto_update: 'version_number'), aber die Bundle-Datei min_update_version Der Feldwert ist null, sodass es unmöglich ist, zu bestimmen, welche Geräte das Update erhalten sollten.
Auto-Update deaktivierenAuto-Update ist durch Versionsnummern-Metadaten deaktiviert. Der Kanal erfordert, dass die Geräteversion mindestens min_update_versionist, aber die aktuelle Geräteversion ist niedriger als dieser Schwellenwert.
Hauptversion blockierenKanal-Einstellung disable_auto_update: 'major' Verhindert Updates, die die Hauptversionsnummer erhöhen (z.B. blockiert 1.x.x von 2.x.x).
Minor-Version blockierenKanal-Einstellung disable_auto_update: 'minor' Verhindert Updates, die die Minor-Versionszahl erhöhen (z.B. blockiert 1.2.x von 1.3.x).
Patch-Version blockierenKanal-Einstellung disable_auto_update: 'patch' Verhindert Updates, die die Patch-Versionszahl erhöhen oder ermöglicht nur Patch-Level-Updates innerhalb derselben Haupt- und Minor-Version (z.B. 1.2.3 kann auf 1.2.4 aktualisiert werden, aber nicht auf 1.2.2 oder 1.3.0).
fehlende BundleDas diesem Kanal zugewiesene Bundle enthält keine herunterladbaren Inhalte. Dies bedeutet, dass das Bundle keine external_url, keine r2_path, es handelt sich nicht um eine integrierte Version und es stehen keine Manifesteinträge für eine Herunterladung zur Verfügung.
Kein Kanal oder OverrideFür diese App ist kein Standardkanal konfiguriert und das Gerät hat auch keinen spezifischen Kanal-Override zugewiesen. Zumindest einer muss vorhanden sein, damit Updates funktionieren.
GegrenztDas Gerät wurde wegen übermäßiger Anfragen begrenzt.
SchlüsselungleichheitDie öffentliche Verschlüsselungsschlüssel des Geräts stimmt nicht mit dem Schlüssel überein, der zum Verschlüsseln des Bundles verwendet wurde. Dies tritt auf, wenn: (1) Der öffentliche Schlüssel in Ihrer App capacitor.config.json sich von dem Schlüssel unterscheidet, der verwendet wurde, als der Bundle hochgeladen wurde, oder (2) Sie Ihre Verschlüsselungsschlüssel rotiert haben, aber alle Geräte noch nicht aktualisiert haben. Die Antwort enthält sowohl deviceKeyId als auch bundleKeyId Die ersten 4 Zeichen des öffentlichen Schlüssels, um das Missverhältnis zu erkennen. Um dies zu beheben, stellen Sie sicher, dass das gleiche Schlüsselpaar sowohl für die Hochladen von Bundeln als auch in der App verwendet wird (CLI verwendet den privaten Schlüssel und capacitor.config.json enthält den öffentlichen Schlüssel).
codeBeschreibung
pingInternes Testaktion, um die Funktionsweise des Statistiksystems zu überprüfen.
getDie Informationen für das Herunterladen der neuen Version wurden an das Gerät gesendet.
deleteEin Bundle wurde auf dem Gerät gelöscht.
setEin Paket wurde auf dem Gerät gesetzt.
__CAPGO_KEEP_0__Das Paket konnte nicht gesetzt werden.
Das Gerät wurde auf den Stand "__CAPGO_KEEP_0__" builtin heruntergesetzt.
herunterladen__XX__Ein neues Paket wurde heruntergeladen - Fortschritt angezeigt durch __XX__% (Zehner-Schritte).
herunterladen_abgeschlossenDas neue Paket ist heruntergeladen.
herunterladen_manifest_startDas Gerät begann mit dem Herunterladen des Update-Manifests.
Manifest herunterladen abgeschlossenDas Gerät hat das Update-Manifest heruntergeladen.
Zip-Download startenDas Gerät hat den Bundle-Archiv-Download gestartet.
Zip-Download abgeschlossenDas Gerät hat den Bundle-Archiv-Download abgeschlossen.
Manifest-Datei-Download fehlgeschlagenEin Manifest-Eintrag konnte nicht heruntergeladen werden; die Stats-Payload wird version_name in der Form version:fileName um den Asset zu lokalisieren.
Manifest-Datei-Prüfsummenprüfung fehlgeschlagenDie Manifest-Datei hat die Prüfsummenprüfung nicht bestanden.
download_manifest_brotli_failDas Manifest-File konnte nicht mit Brotli entpackt werden.
download_failDer neue Bundle konnte nicht heruntergeladen werden.
update_failDer neue Bundle wurde installiert, aber fehlgeschlagen, die Funktion aufzurufen. notifyAppReady.
checksum_failDer neue Bundle konnte die Prüfsumme nicht überprüfen. Dies kann auf mehrere Gründe zurückzuführen sein: 1) Prüfsummentypenungleichheit: Die neueste Version von CLI und Plugins (Version 5.10.0+, 6.25.0+ oder 7+) verwenden SHA256-Prüfsummen, während ältere Plugins CRC32 verwendeten. Wenn Sie eine Prüfsummenfehler sehen, überprüfen Sie, ob die Prüfsumme CRC32 (eine kürzere Hash) anstatt SHA256 ist. 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, verwenden SHA256. Wenn Sie CRC32-Prüfsummen sehen, stellen Sie sicher, dass Sie die neueste Pluginversion lokal installiert haben (das CLI überprüft Ihre lokale Pluginversion, um zu bestimmen, welcher Prüfsummentyp hochgeladen werden soll), dann aktualisieren Sie Ihre CLI und laden Sie das Bundle erneut hoch. 2) Verschlüsselungsschlüsselungleichheit (bei Pluginversionen unter 8.3.0 oder 5/6/7.38.0): Bei älteren Pluginversionen wird die Verschlüsselung fehlschlagen, wenn der Geräte-Schlüssel nicht mit dem Schlüssel übereinstimmt, der zum Verschlüsseln des Bundles verwendet wurde. Wenn Sie Verschlüsselung verwenden und eine Prüfsummenfehler sehen checksum_failüberprüfen Sie, ob der öffentliche Schlüssel in Ihrer App dem mit der Bereitstellung des Bundles verwendeten privaten Schlüssel entspricht. Die Aktualisierung auf Plugin-Version 8.3.0+ (oder 5/6/7.38.0+) gibt Ihnen ein korrektes Fehlermeldung vom Server, was diese Probleme einfacher zu diagnostizieren macht. capacitor.config.json __CAPGO_KEEP_0__ keyMismatch windows_path_fail
Die Zip enthält Dateien, die illegale Windows-Pfade enthaltencanonical_path_fail
Der Pfad der Dateien ist nicht kanonischdirectory_path_fail
Es gibt ein Fehler im Pfad der Zip-Dateienunzip_fail
unzip fehlgeschlagenlow_mem_fail
Die Zip enthält Dateien, die nicht genügend Speicherplatz habenDownload fehlgeschlagen wegen geringer Speicherkapazität auf dem Gerät
app wurde in den Hintergrund geschobenDie Anwendung ist in den Hintergrundzustand gelangt.
app wurde in den Vordergrund geschobenDie Anwendung ist in den Vordergrundzustand gelangt.
Verschlüsselung fehlgeschlagenDie heruntergeladene Bundle konnte nicht entschlüsselt werden.
getChannelDie aktuelle Kanal für das Gerät wurde abgefragt.
setChannelEin Kanal wurde erfolgreich für das Gerät gesetzt.
uninstallDie Anwendung wurde deinstalliert oder Capgo Daten wurden gelöscht.
blocked_by_server_urlServer.url ist in Ihrer capacitor Konfiguration vorhanden, was bedeutet, dass Capacitor remote URL dient 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.
  • SUCCESSInstallationsbundle erfolgreich installiert
  • ERRORInstallations- oder Download fehlgeschlagen
  • PENDINGDownload erfolgreich, Warte auf Release
  • DELETEDBundle wurde gelöscht, aber für Statistiken noch angezeigt
  • DOWNLOADINGEin Bundle wird gerade heruntergeladen

Geräteprotokolle verstehen:

Abschnitt "Geräteprotokolle verstehen:"

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

Terminalfenster
npx @capgo/cli@latest app debug

Mit diesem Befehl können Sie alle Ereignisse im App überprüfen und eine Lösung finden, wenn Updates nicht erfolgen.

um Ihre Protokolle in Xcode zu finden

Ihre Protokolle auf Android Studio finden

  • Failed to download from => gleichbedeutend Download fehlgeschlagen
  • notifyAppReady was not called, roll back current bundle => gleichbedeutend wie Update fehlgeschlagen

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

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

Um dies zu erreichen:

  • Verbinden Sie Ihr Gerät mit Ihrem Mac und wählen Sie im Xcode-Menü 'Window' > '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 Anzeige aus.
  • Hier können Sie das aktuelle Dateisystem anzeigen, indem Sie 'Download a snapshot of it' auswählen.

Xcode-Menü 'Geräte' mit Option zum Herunterladen des App-Containers

Wenn Sie 'Download Container…' auswählen, wird das Dateisystem als Snapshot als .xcappdata-Datei heruntergeladen und exportiert, die Sie durchsuchen können.

Heruntergeladene xcappdata-Datei mit Kontextmenü 'Show Package Contents'

Rechtsklick auf diesen Datei und wählen Sie "Ordner anzeigen" aus, um den Ordner zu öffnen.

Öffnen Sie das App-Daten-Ordner und Sie sollten jetzt einige Ordner wie Dokumente, Bibliothek, tmp usw. sehen.

iOS-App-Container-Ordnerstruktur zeigt Dokumente- und Bibliothek-Ordner an

Sie werden dann in 2 Ordner finden:

library/NoCloud/ionic_built_snapshots ist erforderlich, nachdem sich das App neu gestartet hat

und documents/versions für Hot-Reload

Um auf Android zu debuggen, müssen Sie das Gerät von Android Studio aus zugreifen:

  • Klicken Sie auf "Ansicht > Werkzeuge > Geräte-Datei-Explorer" oder klicken Sie auf den Geräte-Datei-Explorer-Button in der Werkzeugleiste, um den Geräte-Datei-Explorer zu öffnen.
  • Wählen Sie ein Gerät aus der Dropdown-Liste aus.
  • Öffnen Sie den Pfad data/data/APP_NAME/ wobei APP_NAME ist Ihre App-ID.

Android Studio Device File Explorer zeigt den Datenordner der App an

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