缘由
打包 Mac App 时需要用到 .icns
图标,本文记录制作该文件的过程。
以前制作 Windows 系统 App 用到的 .ico
图标文件,是通过 easyicon-convert 转换 png 文件得到。因此第一想到的也是此网站制作,一顿操作后,把获得的 .icns
文件放到项目中打包,发现得到的应用显示系统默认的图标,打包失败。
制作过程
-
准备 png 文件(示例中是
logo.png
,分辨率 1024 * 1024) -
同级目录新建文件夹
icons.iconset
-
终端执行命令:
1sips -z 16 16 logo.png --out icons.iconset/icon_16x16.png 2sips -z 32 32 logo.png --out icons.iconset/icon_16x16@2x.png 3sips -z 32 32 logo.png --out icons.iconset/icon_32x32.png 4sips -z 64 64 logo.png --out icons.iconset/icon_32x32@2x.png 5sips -z 128 128 logo.png --out icons.iconset/icon_128x128.png 6sips -z 256 256 logo.png --out icons.iconset/icon_128x128@2x.png 7sips -z 256 256 logo.png --out icons.iconset/icon_256x256.png 8sips -z 512 512 logo.png --out icons.iconset/icon_256x256@2x.png 9sips -z 512 512 logo.png --out icons.iconset/icon_512x512.png 10sips -z 1024 1024 logo.png --out icons.iconset/icon_512x512@2x.png
-
终端执行命令
1iconutil -c icns icons.iconset -o icon.icns
得到的 icon.icns
即为可用的应用图标。
说明
-
通过
man sips
可以查看sips
命令的介绍和使用说明:图片处理工具,可以得到对应尺寸的图片1This tool is used to query or modify raster image files and ColorSync ICC profiles. 2 3sips \[image-modification-functions\] imagefile ... 4 \[--out result-file-or-dir\]
-
通过
man iconutil
可以查看iconutil
的介绍和使用说明:将多个图片打包成.icns
文件1iconutil converts between '.iconset' and '.icns' files. 2 3iconutil -c {icns | iconset} \[-o file\] file
-
打开得到的
.icns
文件,可以发现的确是由多张图片 “打包” 而成:
参考
个人笔记记录 2021 ~ 2025