Replace the Swift squircle hack with the correct Apple approach: generate a proper .icns using sips + iconutil, then replace electron.icns in the Electron bundle before launch. macOS applies its native squircle mask + shadow from the .icns automatically.
23 lines
1.0 KiB
Bash
Executable File
23 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Generates a proper macOS .icns from the master icon PNG using Apple's iconutil.
|
|
# macOS applies squircle mask + shadow natively from .icns — no manual masking needed.
|
|
set -e
|
|
|
|
SRC="build/icon.png"
|
|
ICONSET="build/icon.iconset"
|
|
|
|
mkdir -p "$ICONSET"
|
|
sips -z 16 16 "$SRC" --out "$ICONSET/icon_16x16.png" >/dev/null
|
|
sips -z 32 32 "$SRC" --out "$ICONSET/icon_16x16@2x.png" >/dev/null
|
|
sips -z 32 32 "$SRC" --out "$ICONSET/icon_32x32.png" >/dev/null
|
|
sips -z 64 64 "$SRC" --out "$ICONSET/icon_32x32@2x.png" >/dev/null
|
|
sips -z 128 128 "$SRC" --out "$ICONSET/icon_128x128.png" >/dev/null
|
|
sips -z 256 256 "$SRC" --out "$ICONSET/icon_128x128@2x.png" >/dev/null
|
|
sips -z 256 256 "$SRC" --out "$ICONSET/icon_256x256.png" >/dev/null
|
|
sips -z 512 512 "$SRC" --out "$ICONSET/icon_256x256@2x.png" >/dev/null
|
|
sips -z 512 512 "$SRC" --out "$ICONSET/icon_512x512.png" >/dev/null
|
|
sips -z 1024 1024 "$SRC" --out "$ICONSET/icon_512x512@2x.png" >/dev/null
|
|
|
|
iconutil -c icns "$ICONSET" -o build/icon.icns
|
|
rm -rf "$ICONSET"
|