如何以编程方式呈现 WKWebView 的 WebKit 检查器?

How to programmatically present the WebKit inspector for a WKWebView?

有没有办法以编程方式为 WKWebView 显示 WebKit 检查器?我知道如何 enable the inspector for a WKWebView but what I would like to do is, similar to what is described here WebView,以便能够从我自己的代码中以编程方式直接将其弹出到屏幕上。使用私有 API 和其他 hack 对我来说自然没问题,因为这仅用于调试目的。

我在调试流程中的用例是我基于桌面的应用程序中的 WKWebView,其中右键单击事件通常允许将上下文菜单用于其他特定应用程序。

作为解决方法,如果不涉及在 Web 视图本身中右键单击以调出检查器,我们会很高兴。

回收 right-click,嗯?有意思。

我不得不将 WKWebKit2 C API headers 的大部分引入我的 swift 应用程序构建中。

粗略地拉出 JS 控制台:

WKInspectorShowConsole(WKPageGetInspector((wkwebview.subviews.first as! WKView).pageRef))

血淋淋的细节: https://github.com/kfix/MacPin/commit/5fed6cb01ab88170f1387122748f8c4ae9e2cab5#diff-c5ffd49d5bf2cde5e056621f9ab14545R426

你需要拉入WKBase.hWKView+Privates.h