使用shell生成icns文件

正在做Mac版PHP手册,做图标的时候,发现在Developer tool里竟然没有Icon Composer了。这是什么情况?网上搜索了一下发现,自Xcode4.4以后就不再提供这个工具了。因为Xcode发展到4.4的时候,MBP已经出了15寸的Retain屏了。为了支持高清显示,苹果提供了一个工具iconutil,用来生成支持高清设备的图标。
Apple的官方文档:High Resolution Guidelines for OS X

大体的制作过程是:

准备一个叫icon.iconset的文件夹,在里面放下面这些图标:
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png
然后用 iconutil -c icns 得想到要的icns文件。
整个过程可使用shell生成,准备好512x512的logo(icon.png)

#make_osx_icon icon.png
for size in 16 32 128 256 512 ;
do
  echo $size;
  sips -s format png -Z $size $1  --out icon.iconset/${1%.png}_${size}x${size}.png ;
  retina=$(expr $size \* 2 )
  echo $size@2x;
  sips -s format png -Z $retina $1  --out icon.iconset/${1%.png}_${size}x${size}@2x.png ;
done
iconutil -c icns icon.iconset