あまり更新頻度は高くないためxCodeでポチポチ設定することも可能ですが、
CLIから行うための手順をメモ。
1. Icon.pngを用意する
お好みのツールで基準とするアイコンファイルを作成する。
2. Application用の各サイズの画像ファイルを生成する
MacOSX固有コマンドsipsを利用してファイルのリサイズを行う。
(/path/
はプロジェクトのパスに応じて適宜置き換えて下さい)
cp -p icon.png /path/Assets.xcassets/AppIcon.appiconset
cd /path/Assets.xcassets/AppIcon.appiconset
sips -Z 120 Icon.png --out Icon-60@2x.png
sips -Z 180 Icon.png --out Icon-60@3x.png
sips -Z 76 Icon.png --out Icon-76@.png
sips -Z 152 Icon.png --out Icon-76@2x.png
sips -Z 167 Icon.png --out Icon-83.5@2x.png
sips -Z 29 Icon.png --out Icon-29@.png
sips -Z 58 Icon.png --out Icon-29@2x.png
sips -Z 87 Icon.png --out Icon-29@3x.png
sips -Z 40 Icon.png --out Icon-40@.png
sips -Z 80 Icon.png --out Icon-40@2x.png
sips -Z 120 Icon.png --out Icon-40@3x.png
sips -Z 20 Icon.png --out Icon-20@.png
sips -Z 40 Icon.png --out Icon-20@2x.png
sips -Z 60 Icon.png --out Icon-20@3x.png
3. Application用のAsset設定ファイルを更新する
cat << EOF > /path/Assets.xcassets/AppIcon.appiconset/Contents.json
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-20@.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-29@.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-40@.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-76@.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-83.5@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
EOF
以上。