メモ
対応範囲
http://resizeappicon.com/ などの生成ツールだと余計なものまで生成するので最低限のもののみシェルで生成→ついでに最適化
画像サイズ下記参考にさせて頂きました
http://qiita.com/Yuta/items/98b9ea2739718b9184de
ここから、アプリに入れ込むもののみ抽出
前提:iPhoneのみ対応、iOSは7,8以上
上記URLの↓のみ
アイコン:ホーム iOS 7/8
アイコン:ホーム 設定
アイコン:ホーム Spotlight iOS 7/8
Requirement
動かすには下記が必要です
sips:画像リサイズ
ImageOptim:画像最適化
ディレクトリ構成
から生成後
icon_original/ディレクトリにあるicon.pngからicon/icon-xxx.pngを生成する
シェルは下記(あまりシェルスクリプト得意じゃないので文法は参考にしないでください)
make.sh
# !/bin/sh
# define --------------#
outDestDir="icon"
originalFile="icon_original/icon.png"
originalSize=`sips -g all $originalFile|grep pixelWidth|cut -c 15-`
fileBaseName="icon"
outSuffix=".png"
array=("120" "180" "29" "58" "87" "80" "120")
arrayForOutfile=("-60@2x" "-60@3x" "-29" "-29@2x" "-29@3x" "-40@2x" "-40@3x")
arrayForIndex=()
n=0
for i in "${array[@]}"
do
arrayForIndex[n]=$n
n=`expr $n + 1`
done
# output Directory --------------#
if [ ! -e $outDestDir ]; then
echo "mkdir --- $outDestDir"
mkdir "$outDestDir"
else
echo "dir exists -- $outDestDir"
fi
# Original size --------------#
if [ ! "$originalSize" ]; then
echo "invalid original file"
exit;
fi
# Make Image function --------------#
function makeDiffImage () {
if [ ! "$1" ] || [ ! "$2" ]; then
echo "no arg"
exit;
fi
echo $1"--------"$2
# exit;
echo "start"
targetSize=$1
targetFileNamePrefix=$2
echo "sips --resampleWidth $targetSize $originalFile --out $outDestDir/$fileBaseName$targetFileNamePrefix$outSuffix"
sips --resampleWidth $targetSize $originalFile --out $outDestDir/$fileBaseName$targetFileNamePrefix$outSuffix
/Applications/ImageOptim.app/Contents/MacOS/ImageOptim $outDestDir/$fileBaseName$targetFileNamePrefix$outSuffix
}
# Exec --------------#
for i in "${arrayForIndex[@]}"
do
echo $i
makeDiffImage ${array[$i]} ${arrayForOutfile[$i]}
done
以上