Debugging
Kopieren Sie einen Setup-Prompt mit den Installationsanweisungen und der vollständigen Markdown-Guide für diese Erweiterung.
Verstehen Sie Cloud-Protokolle:
Abschnitt mit dem Titel „Verstehen Sie Cloud-Protokolle:“Wenn Sie ein Cloud-Verweigerungszeichen code erhalten und konkrete Abhilfeschritte benötigen, sehen Sie Gemeinsame Update-Probleme.
Von der Backend-Site gesendet
Abschnitt mit dem Titel “Von der Backend-Site gesendet”| code | Beschreibung |
|---|---|
| InvalidIp | Der 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. |
| keineNeuen | Das Gerät hat die neueste verfügbare Version. |
| disablePlatformIos | Das Gerät ist auf der iOS-Plattform, aber das ist in den Kanal-Einstellungen deaktiviert. |
| disablePlatformAndroid | Das Gerät ist auf dem Android-Plattform, aber diese Funktion ist in den Kanal-Einstellungen deaktiviert. |
| Deaktivieren von Auto-Updates | Hauptversion |
| DeaktivierenSie die automatische Aktualisierung unter native | Die 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 deaktivieren | Das Gerät hat eine Dev-Build, aber diese ist in den Kanal-Einstellungen deaktiviert. |
| Deaktivieren Sie den Emulator | Das 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 konfiguriert | Die 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 deaktivieren | Auto-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 blockieren | Kanal-Einstellung disable_auto_update: 'major' Verhindert Updates, die die Hauptversionsnummer erhöhen (z.B. blockiert 1.x.x von 2.x.x). |
| Minor-Version blockieren | Kanal-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 blockieren | Kanal-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 Bundle | Das 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 Override | Fü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. |
| Gegrenzt | Das Gerät wurde wegen übermäßiger Anfragen begrenzt. |
| Schlüsselungleichheit | Die ö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). |
Von dem Gerät gesendet
Abschnitt mit dem Titel „Von dem Gerät gesendet“| code | Beschreibung |
|---|---|
| ping | Internes Testaktion, um die Funktionsweise des Statistiksystems zu überprüfen. |
| get | Die Informationen für das Herunterladen der neuen Version wurden an das Gerät gesendet. |
| delete | Ein Bundle wurde auf dem Gerät gelöscht. |
| set | Ein 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_abgeschlossen | Das neue Paket ist heruntergeladen. |
| herunterladen_manifest_start | Das Gerät begann mit dem Herunterladen des Update-Manifests. |
| Manifest herunterladen abgeschlossen | Das Gerät hat das Update-Manifest heruntergeladen. |
| Zip-Download starten | Das Gerät hat den Bundle-Archiv-Download gestartet. |
| Zip-Download abgeschlossen | Das Gerät hat den Bundle-Archiv-Download abgeschlossen. |
| Manifest-Datei-Download fehlgeschlagen | Ein 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 fehlgeschlagen | Die Manifest-Datei hat die Prüfsummenprüfung nicht bestanden. |
| download_manifest_brotli_fail | Das Manifest-File konnte nicht mit Brotli entpackt werden. |
| download_fail | Der neue Bundle konnte nicht heruntergeladen werden. |
| update_fail | Der neue Bundle wurde installiert, aber fehlgeschlagen, die Funktion aufzurufen. notifyAppReady. |
| checksum_fail | Der 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 enthalten | canonical_path_fail |
| Der Pfad der Dateien ist nicht kanonisch | directory_path_fail |
| Es gibt ein Fehler im Pfad der Zip-Dateien | unzip_fail |
| unzip fehlgeschlagen | low_mem_fail |
| Die Zip enthält Dateien, die nicht genügend Speicherplatz haben | Download fehlgeschlagen wegen geringer Speicherkapazität auf dem Gerät |
| app wurde in den Hintergrund geschoben | Die Anwendung ist in den Hintergrundzustand gelangt. |
| app wurde in den Vordergrund geschoben | Die Anwendung ist in den Vordergrundzustand gelangt. |
| Verschlüsselung fehlgeschlagen | Die heruntergeladene Bundle konnte nicht entschlüsselt werden. |
| getChannel | Die aktuelle Kanal für das Gerät wurde abgefragt. |
| setChannel | Ein Kanal wurde erfolgreich für das Gerät gesetzt. |
| uninstall | Die Anwendung wurde deinstalliert oder Capgo Daten wurden gelöscht. |
| blocked_by_server_url | Server.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. |
Bundle-Status
Abschnitt "Bundle-Status"SUCCESSInstallationsbundle erfolgreich installiertERRORInstallations- oder Download fehlgeschlagenPENDINGDownload erfolgreich, Warte auf ReleaseDELETEDBundle wurde gelöscht, aber für Statistiken noch angezeigtDOWNLOADINGEin Bundle wird gerade heruntergeladen
Geräteprotokolle verstehen:
Abschnitt "Geräteprotokolle verstehen:"Debug-Befehl:
Abschnitt: Debug-BefehlFür Capgo-Cloud-Nutzer gibt es einen Debug-Befehl.
npx @capgo/cli@latest app debugMit 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
Android:
Abschnitt: AndroidIhre Protokolle auf Android Studio finden
Erklärungen Protokolle
Abschnitt mit dem Titel “Erklärungen Protokolle”Failed to download from=> gleichbedeutend Download fehlgeschlagennotifyAppReady was not called, roll back current bundle=> gleichbedeutend wie Update fehlgeschlagen
Das heruntergeladene Bundle auf Ihrem Gerät finden
Abschnitt mit dem Titel “Das heruntergeladene Bundle auf Ihrem Gerät finden”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.

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.

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

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.

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
Android
Zurücksetzen von AndroidUm 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.

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