Mac生成APP圖示和啟動圖的指令碼

大不不發表於2018-03-15

下載點我

概述

之前用的一個批量匯出APP圖示和啟動圖的軟體,今天發現收費了,於是自己造了個簡單的輪子。

實現

Mac上的sips命令,可以很方便的幫助使用者修改圖片尺寸

Xcode裡面的APP啟動圖資源包含兩部分

  1. 圖片資源
  2. 描述檔案

所以這個指令碼的功能就是兩個

  1. 生成描述檔案Contents.json
  2. 修改圖片尺寸並關聯描述檔案

生成描述檔案

使用echo簡單粗暴的寫入

setContents(){
echo {  >> ./AppIcon/Contents.json
echo "  \"images\"" : [>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"20x20\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"2x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_40x40.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"20x20\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"3x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_60x60.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"29x29\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"2x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_58x58.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"29x29\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"3x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_87x87.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"40x40\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"2x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_80x80.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"40x40\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"3x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_120x120.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"60x60\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"2x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_120x120.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"60x60\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"iphone\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"3x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_180x180.png\"">> ./AppIcon/Contents.json
echo "   "},>> ./AppIcon/Contents.json
echo "   "{>> ./AppIcon/Contents.json
echo "      \"size\"" : "\"1024x1024\"",>> ./AppIcon/Contents.json
echo "      \"idiom\"" : "\"ios-marketing\"",>> ./AppIcon/Contents.json
echo "      \"scale\"" : "\"1x\"",>> ./AppIcon/Contents.json
echo "      \"filename\"" : "\"icon_1024x1024.png\"">> ./AppIcon/Contents.json
echo "   "}>> ./AppIcon/Contents.json
echo " "],>> ./AppIcon/Contents.json
echo "  \"info\"" : {>> ./AppIcon/Contents.json
echo "     \"version\"" : 1,>> ./AppIcon/Contents.json
echo "     \"author\"" : "\"xcode\"">> ./AppIcon/Contents.json
echo " "}>> ./AppIcon/Contents.json
echo }>> ./AppIcon/Contents.json
}
複製程式碼

修改圖片尺寸

iconWithSize() {
sips -Z $1 icon.png --out ./AppIcon/icon_$1x$1.png
}
複製程式碼

函式呼叫

mkdir AppIcon
setContents
for size in  40 58 60 80 87 120 180 1024
do
iconWithSize $size
done
複製程式碼

Mac生成APP圖示和啟動圖的指令碼

Mac生成APP圖示和啟動圖的指令碼

效果展示

Mac生成APP圖示和啟動圖的指令碼

Mac生成APP圖示和啟動圖的指令碼

怎麼使用

AppIcon

下載對應的sh檔案,放到你想匯出圖片的目錄下,將你的原圖命名為icon.png,然後在控制檯中進入該目錄,執行

sh AppIcon.sh
複製程式碼

LaunchImage

下載對應的sh檔案,放到你想匯出圖片的目錄下,將你的原圖命名為Default.png,然後在控制檯中進入該目錄,執行

sh AppLaunch.sh
複製程式碼

就可以得到你要的資源啦。

擴充套件

在命令列使用sips命令修改圖片尺寸

重新定義單個圖片尺寸(忽略比例)

sips -z 768 1024 xxx.png

修改後圖片尺寸為1024x768
複製程式碼

重新定義單個圖片尺寸(保留比例)

sips -Z 500 xxx.png
複製程式碼

==保留圖片比例,寬高不超過500。注意是大寫的Z==。要想保留圖片原始比例就得這樣做,比如你有一張尺寸為750 x 1334的圖片,執行完上面這條命令後,圖片尺寸就變成了281x500

在一個目錄裡批量修改同一字尾格式的圖片尺寸

sips -Z 300 *.png
複製程式碼

只需要用*作為萬用字元來代替圖片名就可以了

下載點我

點我

相關文章