5

缘由

打包 Mac App 时需要用到 .icns 图标,本文记录制作该文件的过程。

以前制作 Windows 系统 App 用到的 .ico 图标文件,是通过 easyicon-convert 转换 png 文件得到。因此第一想到的也是此网站制作,一顿操作后,把获得的 .icns 文件放到项目中打包,发现得到的应用显示系统默认的图标,打包失败。

制作过程

  1. 准备 png 文件(示例中是 logo.png,分辨率 1024 * 1024)
  2. 同级目录新建文件夹 icons.iconset
  3. 终端执行命令:

    sips -z 16 16     logo.png --out icons.iconset/icon_16x16.png
    sips -z 32 32     logo.png --out icons.iconset/icon_16x16@2x.png
    sips -z 32 32     logo.png --out icons.iconset/icon_32x32.png
    sips -z 64 64     logo.png --out icons.iconset/icon_32x32@2x.png
    sips -z 128 128   logo.png --out icons.iconset/icon_128x128.png
    sips -z 256 256   logo.png --out icons.iconset/icon_128x128@2x.png
    sips -z 256 256   logo.png --out icons.iconset/icon_256x256.png
    sips -z 512 512   logo.png --out icons.iconset/icon_256x256@2x.png
    sips -z 512 512   logo.png --out icons.iconset/icon_512x512.png
    sips -z 1024 1024   logo.png --out icons.iconset/icon_512x512@2x.png
  4. 终端执行命令

    iconutil -c icns icons.iconset -o icon.icns

得到的 icon.icns 即为可用的应用图标。

说明

  1. 通过 man sips 可以查看 sips 命令的介绍和使用说明:图片处理工具,可以得到对应尺寸的图片

    This tool is used to query or modify raster image files and ColorSync ICC profiles.
    
    sips [image-modification-functions] imagefile ...
         [--out result-file-or-dir]
  2. 通过 man iconutil 可以查看 iconutil 的介绍和使用说明:将多个图片打包成 .icns 文件

    iconutil converts between '.iconset' and '.icns' files.
    
    iconutil -c {icns | iconset} [-o file] file
  3. 打开得到的 .icns 文件,可以发现的确是由多张图片 “打包” 而成:image.png

参考


codagew
22 声望1 粉丝

引用和评论

0 条评论