//go:build darwin && !production package application /* #cgo CFLAGS: -mmacosx-version-min=10.13 -x objective-c #cgo LDFLAGS: -framework Cocoa #import #include "webview_window.h" @interface _WKInspector : NSObject - (void)show; - (void)detach; @end @interface WKWebView () - (_WKInspector *)_inspector; @end void showDevTools(void *window) { // Get the window delegate WebviewWindowDelegate* delegate = (WebviewWindowDelegate*)[(NSWindow*)window delegate]; dispatch_async(dispatch_get_main_queue(), ^{ [delegate.webView._inspector show]; }); } */ import "C" import "unsafe" func init() { showDevTools = func(window unsafe.Pointer) { C.showDevTools(window) } }