diff --git a/v2/internal/frontend/runtime/desktop/ipc.js b/v2/internal/frontend/runtime/desktop/ipc.js index d209d98c1..022ba1563 100644 --- a/v2/internal/frontend/runtime/desktop/ipc.js +++ b/v2/internal/frontend/runtime/desktop/ipc.js @@ -16,8 +16,8 @@ The electron alternative for Go */ // const windows = 0; -// const linux = 1; -// const macos = 2; +// const macos = 1; +// const linux = 2; window.WailsInvoke = function (message) { @@ -25,8 +25,10 @@ window.WailsInvoke = function (message) { if (PLATFORM === 0) { window.chrome.webview.postMessage(message); } else if (PLATFORM === 1) { - window.blah(); + window.webkit.messageHandlers.external.postMessage(message); } else if (PLATFORM === 2) { console.error("Unsupported Platform"); + } else { + console.error("Unsupported Platform"); } }; diff --git a/v2/internal/frontend/runtime/ipc_darwin.go b/v2/internal/frontend/runtime/ipc_darwin.go new file mode 100644 index 000000000..524d10c92 --- /dev/null +++ b/v2/internal/frontend/runtime/ipc_darwin.go @@ -0,0 +1,8 @@ +//go:build darwin + +package runtime + +import _ "embed" + +//go:embed ipc_darwin.js +var DesktopIPC []byte diff --git a/v2/internal/frontend/runtime/ipc_darwin.js b/v2/internal/frontend/runtime/ipc_darwin.js new file mode 100644 index 000000000..d770ecf02 --- /dev/null +++ b/v2/internal/frontend/runtime/ipc_darwin.js @@ -0,0 +1 @@ +(()=>{window.WailsInvoke=function(e){window.webkit.messageHandlers.external.postMessage(e)};})(); diff --git a/v2/internal/frontend/runtime/package.json b/v2/internal/frontend/runtime/package.json index f8b066390..d462ce6eb 100644 --- a/v2/internal/frontend/runtime/package.json +++ b/v2/internal/frontend/runtime/package.json @@ -6,6 +6,7 @@ "scripts": { "build": "run-p build:*", "build:ipc-windows": "esbuild desktop/ipc.js --bundle --minify --outfile=ipc_windows.js --define:PLATFORM=0", + "build:ipc-darwin": "esbuild desktop/ipc.js --bundle --minify --outfile=ipc_darwin.js --define:PLATFORM=1", "build:ipc-dev": "cd dev && npm run build", "build:runtime-desktop-prod": "esbuild desktop/main.js --bundle --minify --outfile=runtime_prod_desktop.js --define:ENV=1", "build:runtime-desktop-dev": "esbuild desktop/main.js --bundle --sourcemap=inline --outfile=runtime_dev_desktop.js --define:ENV=0",