bin/mkicns
#!/usr/bin/env bash
#
# Orignal source:
# https://github.com/herrbischoff/awesome-osx-command-line/blob/master/functions.md#app-icons
if [[ "$(uname -s)" != 'Darwin' ]]; then
echo 'Sorry, this script only works on macOS'
exit 1
fi
# shellcheck disable=SC2199
if [[ -z "$@" ]]; then
echo "Input file missing"
exit 1
else
filename=${1%.*}
mkdir "$filename.iconset"
sips -z 16 16 "$1" --out "$filename.iconset/icon_16x16.png"
sips -z 32 32 "$1" --out "$filename.iconset/icon_16x16@2x.png"
sips -z 32 32 "$1" --out "$filename.iconset/icon_32x32.png"
sips -z 64 64 "$1" --out "$filename.iconset/icon_32x32@2x.png"
sips -z 128 128 "$1" --out "$filename.iconset/icon_128x128.png"
sips -z 256 256 "$1" --out "$filename.iconset/icon_128x128@2x.png"
sips -z 256 256 "$1" --out "$filename.iconset/icon_256x256.png"
sips -z 512 512 "$1" --out "$filename.iconset/icon_256x256@2x.png"
sips -z 512 512 "$1" --out "$filename.iconset/icon_512x512.png"
cp "$1" "$filename.iconset/icon_512x512@2x.png"
iconutil -c icns "$filename.iconset"
rm -r "$filename.iconset"
fi