Gibt es eine Möglichkeit, Chrome in einem IOS-Gerät zu debuggen?

76

Gibt es eine Möglichkeit, den Chrome-Browser auf einem iOS-Gerät zu debuggen?

Wenn es keine Möglichkeit gibt, wie kann ich mich dem Bug in Chrome auf iOS nähern?

Durchsuchte das Web und fand keine ausreichende Antwort.

Alexander Gorelik
quelle
1
Bitte geben Sie einige nützliche Details zu Ihrem Problem an. Ein "Bug in Chrome" könnte alles bedeuten. Ein Absturz in der Anwendung, ein Ausrichtungsproblem mit HTML / CSS, Javascript funktioniert nicht richtig. Abhängig von Ihrem speziellen Problem gibt es verschiedene Möglichkeiten, um zu helfen
Simon McLoughlin
Beachten Sie jedoch, dass die Site, die Sie debuggen, über http ausgeführt werden muss. Sie sehen keine Ausgabe, wenn Sie sich eine Site ansehen, deren URL mit "https: //" beginnt.
Andrew Wiseman

Antworten:

55

Alte Antwort (Juli 2016):

Sie können Chrome für iOS aufgrund von Einschränkungen für die veröffentlichten WKWebViewApps nicht direkt debuggen , es gibt jedoch einige Optionen, die bereits in anderen SO-Threads erläutert wurden:

  1. Wenn Sie das Problem auch in Safari reproduzieren können, verwenden Sie Remote-Debugging mit Safari Web Inspector . Dies wäre der einfachste Ansatz.

  2. WeInRe ermöglicht ein einfaches Debuggen mit einem einfachen Client-Server-Modell. Es ist nicht vollständig ausgestattet, aber es kann für Ihr Problem ausreichen. Anweisungen zum Einrichten finden Sie hier .

  3. Sie können versuchen, eine einfache WKWebViewBrowser-App zu erstellen (einige Anweisungen hier ) oder auf GitHub nach einer vorhandenen suchen. Da Chrome dieselbe Rendering-Engine verwendet, können Sie damit debuggen, da dies in etwa dem entspricht, was Chrome produziert.

Für WebKit ist ein "Fehler" aufgetreten : Erlauben Sie die Verwendung von Web Inspector für Release-Builds von WKWebView . Wenn wir eine API erhalten, WKWebViewist Chrome für iOS debuggbar.

Update Januar 2018:

Seit meiner Antwort im Jahr 2016 wurden einige Arbeiten durchgeführt, um die Dinge zu verbessern.

Einige Mitglieder des Microsoft-Teams haben kürzlich ein Projekt namens RemoteDebug iOS WebKit Adapter veröffentlicht. Es ist ein Adapter, der die API-Unterschiede zwischen dem Webkit Remote Debugging Protocol und dem Chrome Debugging Protocol behandelt. Auf diese Weise können Sie iOS WebViews in jeder App debuggen, die das Protokoll unterstützt - Chrome DevTools, VS Code usw.

Schauen Sie sich die heraus die ersten Schritte Führung im Repo, die sehr detailliert.

Wenn Sie interessant sind, können Sie sich hier über Hintergrund und Architektur informieren .

Gideon Pyzer
quelle
Hallo Danke für die Antwort. Derzeit arbeite ich an einer iOS-Erweiterungs-App, die zum automatischen Ausfüllen von Passwörtern verwendet wird. In dieser Datei werden einige JS-Dateien verwendet. Wie kann diese JS-Datei hier debuggen? Wenn Sie eine Idee haben, dann kennen Sie mich bitte, da ich beim Debuggen stecke
Anita
1
@ Anita Ich habe meine Antwort aktualisiert, da sie etwas alt war. Schauen Sie sich das Adapterprojekt an, da Sie damit meiner Meinung nach das JS in Ihrer App debuggen können.
Gideon Pyzer
Ich wollte nur darauf hinweisen, dass die aktualisierte Antwort eine Fortsetzung von Option 3 der alten Antwort ist. Das direkte Debuggen von Chrome mit diesem Adapter ist nicht möglich.
Marsman
1
Der RemoteDebug iOS WebKit Adapter ist cool. Sie können Chrome DevTools oder andere Desktop-Debugger für Websites auf Ihrem Mobilgerät verwenden. Ich konnte es jedoch nicht zum Anhängen an Websites auf Chrome für iOS - nur für Mobile Safari - bringen. Leider zeigen sie auf einer Site, an der ich arbeite, unterschiedliche Verhaltensweisen. Und diese Verhaltensweisen treten nur bei mobilem Chrome auf - nicht bei Chrome Dev Tools im mobilen Emulationsmodus. Möglicherweise müssen Sie eine Art Konsolenfenster auf der Site zusammenhacken, um es herauszufinden.
TheRealMikeD
1
Der erste Link (Remote-Debugging mit Safari Web Inspector) ist tot. Ein Backup ist unter web.archive.org/web/20171207112510/https://…
Peter
75

Wenn Sie keine vollständige Debugging-Unterstützung benötigen, können Sie jetzt JavaScript-Konsolenprotokolle direkt in Chrome für iOS unter chrome: // inspect anzeigen.

https://blog.chromium.org/2019/03/debugging-websites-in-chrome-for-ios.html

Chrome für iOS-Konsole

MikecheckDev
quelle
4
TOLLE. Ich kann nicht glauben, dass ich mir dessen nicht bewusst war.
Ori888
Wann wurde das hinzugefügt? Dies funktioniert nicht auf meinem alten iPad, auf dem Chrome für iOS 71.0.3578.89 ausgeführt wird.
Mike
3
Ich habe gerade die Antwort auf meine Frage gefunden - es ist eine neue Funktion in Version 73, für die mindestens iOS 11 erforderlich ist.
Mike