iOS APPIcon 修改(指令碼)

來源:互聯網
上載者:User

標籤:ribbon   hello   接下來   user   mat   儲存   新功能   nts   root   

echo "${BUILT_PRODUCTS_DIR} 運行路徑
echo "${SRCROOT}" 項目路徑

IFS=$‘\n‘
echo $(find ${SRCROOT} -name "[email protected]")
此命令$ { SRCROOT }檔案夾遞迴搜尋檔案[email protected]

修改APP icon的指令碼
IFS=$‘\n‘
#1
PATH=${PATH}:/usr/local/bin
#2
TARGET_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/[email protected]"
BASE_IMAGE_PATH=$(find ${SRCROOT} -name "[email protected]")
#3
convert betaRibbon.png -resize 120x120 resizedBetaRibbon.png
#4
convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 "Hello World" - | composite resizedBetaRibbon.png - ${TARGET_PATH}
1、如果你省略第一行,編譯將失敗。你的終端有一個叫PATH的變數,來儲存一些預設的本地指令碼。對於所有的命令終端認為這是第一個,預設並不是Unix的一部分。這允許任何命令位於一個目錄路徑運行沒有指定完整的命令的位置。Xcode需要將相同的PATH變數分享給你的終端。這行添加/user/local/bin到PATH變數,Homebrew安裝的地方。
2、接下來的兩行,擷取本地的應用表徵圖,然後分別將該路徑儲存到TARGET_PATH 和 BASE_IMAGE_PATH 變數中
3、這行是將betaRibbon.png的表徵圖的尺寸改為合適的大小;
4、最後一行做了兩件事情。首先,它在原始的應用表徵圖上添加"Hello World"文本。然後該指令碼執行合成的功能--將有beta標識的圖片放置在其上面。然後將合成的圖片儲存為應用的表徵圖。
提示:應用程式圖示名字不是任意的。在最終的產品,應用程式圖示的名稱必須像[email protected]。Xcode使用此命名規範來確定使用哪個表徵圖根據裝置使用。

 

 

PATH=${PATH}:/usr/local/bin
IFS=$‘\n‘
function generateIcon () {
BASE_IMAGE_NAME=$1
TARGET_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${BASE_IMAGE_NAME}"
BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})
WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})
convert betaRibbon.png -resize $WIDTHx$WIDTH resizedRibbon.png
convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize 18 -gravity south -annotate 0 "Hello World" - | composite resizedRibbon.png - ${TARGET_PATH}
}
generateIcon "[email protected]"
generateIcon "[email protected]"
generateIcon "AppIcon76x76~ipad.png"
generateIcon "[email protected]~ipad.png"
本訪問這個論點通過使用$1,並設定變數BASE_IMAGE_PATH.$ { BASE_IMAGE_PATH }然後放置[email protected]之前放置的地方。
你將會發現ImageMagick的一個新功能,Identity,這個功能會擷取圖片的資訊。在這種情況下,你想使用通過格式化-format %w 得到的寬度在identify,去重新改變betaRibbon.png的大小。
FONT_SIZE=$(echo "$WIDTH * .15" | bc -l)設定一個FONT_SIZE變數可變寬度的五分之一。因為Unix算術不支援浮點運算,您必須使用bc程式。basic calculator的縮寫,bc能夠處理浮點類型的計算。


buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
版本的構建號可以在Info.plist中的CFBundleVersion找到
convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize ${FONT_SIZE} -gravity south -annotate 0 "$buildNumber" - | composite resizedRibbon.png - ${TARGET_PATH}

 

IFS=$‘\n‘
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
PATH=${PATH}:/usr/local/bin
function generateIcon () {
BASE_IMAGE_NAME=$1
TARGET_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${BASE_IMAGE_NAME}"
echo $TARGET_PATH
echo $SRCROOT
echo $(find ${SRCROOT} -name "[email protected]")
BASE_IMAGE_PATH=$(find ${SRCROOT} -name ${BASE_IMAGE_NAME})
WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})
FONT_SIZE=$(echo "$WIDTH * .15" | bc -l)
echo "font size $FONT_SIZE"
if [ "${CONFIGURATION}" == "Debug" ]; then
convert debugRibbon.png -resize ${WIDTH}x${WIDTH} resizedRibbon.png
convert ${BASE_IMAGE_PATH} -fill white -font Times-Bold -pointsize ${FONT_SIZE} -gravity south -annotate 0 "$buildNumber" - | composite resizedRibbon.png - ${TARGET_PATH}
fi
if [ "${CONFIGURATION}" == "Beta" ]; then
convert betaRibbon.png -resize ${WIDTH}x${WIDTH} resizedRibbon.png
convert ${BASE_IMAGE_PATH} -fill white -font Times-Boldr -pointsize ${FONT_SIZE} -gravity south -annotate 0 "$buildNumber" - | composite resizedRibbon.png - ${TARGET_PATH}
fi
}
generateIcon "[email protected]"
generateIcon "[email protected]"
generateIcon "AppIcon76x76~ipad.png"
generateIcon "[email protected]~ipad.png"

iOS APPIcon 修改(指令碼)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.