参考文章:https://learnku.com/articles/45136
根据文章中所说,写个shell脚本
(记得设置权限 )
chmod 777 create_icon.sh
使用办法
create_icon.sh xxx.png
#!/bin/bash
# 检查参数是否传入
if [ "$#" -ne 1 ]; then
echo "用法: $0 <图片路径>"
exit 1
fi
# 检查图片文件是否存在
PIC_FILE=$1
if [ ! -f "$PIC_FILE" ]; then
echo "图片文件未找到: $PIC_FILE"
exit 1
fi
# 检查 sips 命令是否存在(在 macOS 中通常可用)
if ! command -v sips &> /dev/null
then
echo "sips 工具不存在。脚本需要在 macOS 上运行。"
exit 1
fi
# 检查 iconutil 命令是否存在(在 macOS 中通常可用)
if ! command -v iconutil &> /dev/null
then
echo "iconutil 工具不存在。脚本需要在 macOS 上运行。"
exit 1
fi
# 创建临时目录 tmp.iconset
mkdir -p tmp.iconset
# 转换图片到不同的尺寸
sips -z 16 16 "$PIC_FILE" --out tmp.iconset/icon_16x16.png
sips -z 32 32 "$PIC_FILE" --out tmp.iconset/icon_16x16@2x.png
sips -z 32 32 "$PIC_FILE" --out tmp.iconset/icon_32x32.png
sips -z 64 64 "$PIC_FILE" --out tmp.iconset/icon_32x32@2x.png
sips -z 128 128 "$PIC_FILE" --out tmp.iconset/icon_128x128.png
sips -z 256 256 "$PIC_FILE" --out tmp.iconset/icon_128x128@2x.png
sips -z 256 256 "$PIC_FILE" --out tmp.iconset/icon_256x256.png
sips -z 512 512 "$PIC_FILE" --out tmp.iconset/icon_256x256@2x.png
sips -z 512 512 "$PIC_FILE" --out tmp.iconset/icon_512x512.png
sips -z 1024 1024 "$PIC_FILE" --out tmp.iconset/icon_512x512@2x.png
# 创建 icns 文件
iconutil -c icns tmp.iconset -o Icon.icns
# 删除临时目录 tmp.iconset
rm -r tmp.iconset