Files
PHPGuard/Scripts/install-app-icon.sh

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."