macoc/scripts/icon.sh
casona f0ac170dbb
Some checks failed
macoc CI (Docker) / swift-core (push) Failing after -4s
feat: polish macOS icon and clean generated documentation
2026-10-26 11:42:24 +03:00

30 lines
986 B
Bash
Executable file

#!/usr/bin/env bash
source "$(dirname "$0")/common.sh"
macos_only
# The composited Sonoma icon is committed as 1024px RGBA. The transparent
# outer margins and squircle silhouette must be preserved at every scale.
# The art grid in AppIconGrid.svg is never embedded in production images.
master="$ROOT/Resources/AppIcon.png"
if [[ ! -s "$master" ]]; then
echo "Missing icon master: $master" >&2
exit 1
fi
iconset="$ROOT/build/macoc.iconset"
rm -rf "$iconset"
mkdir -p "$iconset"
for size in 16 32 128 256 512; do
sips -s format png -z "$size" "$size" "$master" \
--out "$iconset/icon_${size}x${size}.png" >/dev/null
done
for specification in "16 32" "32 64" "128 256" "256 512" "512 1024"; do
read -r name pixels <<<"$specification"
sips -s format png -z "$pixels" "$pixels" "$master" \
--out "$iconset/icon_${name}x${name}@2x.png" >/dev/null
done
mkdir -p "$APP_PATH/Contents/Resources"
iconutil -c icns "$iconset" -o "$APP_PATH/Contents/Resources/AppIcon.icns"