41 lines
1.0 KiB
Bash
Executable File
41 lines
1.0 KiB
Bash
Executable File
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
SOURCE="$ROOT/PHPGuard/Assets.xcassets/AppIcon.appiconset/icon-1024.png"
|
|
|
|
[[ -f "$SOURCE" ]] || {
|
|
echo "Missing PHPGuard icon: $SOURCE" >&2
|
|
exit 1
|
|
}
|
|
|
|
APP="${1:?Pass the path to PHPGuard.app}"
|
|
RESOURCES="$APP/Contents/Resources"
|
|
|
|
mkdir -p "$RESOURCES"
|
|
|
|
ICONSET="$(mktemp -d)/PHPGuard.iconset"
|
|
mkdir -p "$ICONSET"
|
|
|
|
for size in 16 32 128 256 512; do
|
|
sips -s format png -z "$size" "$size" "$SOURCE" \
|
|
--out "$ICONSET/icon_${size}x${size}.png" >/dev/null
|
|
|
|
double=$((size * 2))
|
|
|
|
sips -s format png -z "$double" "$double" "$SOURCE" \
|
|
--out "$ICONSET/icon_${size}x${size}@2x.png" >/dev/null
|
|
done
|
|
|
|
iconutil -c icns "$ICONSET" -o "$RESOURCES/PHPGuard.icns"
|
|
|
|
/usr/libexec/PlistBuddy \
|
|
-c "Delete :CFBundleIconFile" \
|
|
"$APP/Contents/Info.plist" 2>/dev/null || true
|
|
|
|
/usr/libexec/PlistBuddy \
|
|
-c "Add :CFBundleIconFile string PHPGuard.icns" \
|
|
"$APP/Contents/Info.plist"
|
|
|
|
echo "PHPGuard application icon installed."
|