So zeigen Sie dem Inspektor in Ihren WKWebView-basierte desktop-app?
Ich bin auf der Suche nach einem Weg, um zu zeigen, das Inspektor für eine WKWebView in meinem Mac-app.
Mit WebKit1 und WebView es war leicht zu zeigen, der Inspektor, der in Ihrem Mac-app, indem Sie nur die Einstellung WebKitDeveloperExtras zu wahr in Ihrem UserDefaults. Geben Sie ein "Element Untersuchen" - Menü in jeder web-Ansicht.
Aber in WebKit2 mit WKWebView dieser nicht mehr funktioniert. In der WWDC14-Inspektor Sitzung, die Sie erklären, dass Sie einen Anspruch und können, dann zeigen Sie dem Inspektor von der Safari-Entwickler Menü. Dies funktioniert nur, wenn Sie die Entwickler.
Ich sah durch die private-Header und fand _allowsRemoteInspection, die macht mich denken, Sie können irgendwie starten, einen Inspektor und eine Verbindung zu ihm herstellen, aber ich bin mir nicht sicher, wo Sie gehen von dort aus.
Obwohl ich bin der Hoffnung, für einen offiziellen Weg, dies zu tun, meine app ist nicht im AppStore, also bin ich ok mit den privaten Sachen.
- Obwohl ich nicht eine Antwort auf deine Frage, ich weiß, was die _allowsRemoteInspection ist wahrscheinlich zu tun. Wenn Sie öffnen Sie Safari und gehen Sie auf das Entwickeln-Menü, werden Sie sehen, eine Vielzahl von Geräten (iPhone, etc), mit denen Sie Remote Debuggen von Webseiten auf einem Gerät oder simulator. Also ich glaube nicht, das ist die Eigenschaft, die Sie suchen, zu bieten in-app-inspector Verhalten.
- Die andere Abhilfe ist zu schaffen, ein Applescript zu starten Safari-browser mit Entwickler-Menü-Paket und das script innerhalb der app. Bei Bedarf können Sie dieses Skript aufrufen, von Ihrem App.
- Ich brauche die gleiche Sache, die für iOS.
- hast du jemals eine Lösung finden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schnelle, anstatt eine bridging-header können Sie es direkt
Basierend auf dem, was Koen gefunden, ein einfacher Weg, um diese Eigenschaft festzulegen, ist die Verwendung von Key-Value-Coding, keine bridging-Header erforderlich.
Swift:
Oder in Objective-C:
Key-Value-Coding suchen nach Methoden und Instanz-Variablen, die mit dem Schlüssel übereinstimmen, einschließlich private-Präfix durch einen Unterstrich.
webView.configuration.preferences
Diese wurde gepatcht, hier: https://lists.webkit.org/pipermail/webkit-dev/2014-August/026790.html
Einfach aussetzen, das private Eigentum, wie dies und Sie können es verwenden,.
Nun bekommen Sie das "Element Untersuchen" im Menü rechts klicken.
Das einzige, was ich noch herausfinden müssen, ist, wie der Inspektor direkt aus dem code.
Gebäude auf Koen Bok ' s Antwort, für Swift, verleihen diese gist. Verwenden Sie diese Dateien, müssen Sie die folgende Zeile zu Ihrer bridging-header:
Nutzung aussieht
-[WKPreferences enableDevExtras]: unrecognized selector sent to instance 0x610000006d40
und die webView ist, bleiben leer. Irgendwelche Ideen?