zoukankan      html  css  js  c++  java
  • iOS APPIcon 修改(脚本)

    echo "${BUILT_PRODUCTS_DIR} 运行路径
    echo "${SRCROOT}" 项目路径

    IFS=$' '
    echo $(find ${SRCROOT} -name "AppIcon60x60@2x.png")
    此命令$ { SRCROOT }文件夹递归搜索文件AppIcon60x60@2x.png

    修改APP icon的脚本
    IFS=$' '
    #1
    PATH=${PATH}:/usr/local/bin
    #2
    TARGET_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppIcon60x60@2x.png"
    BASE_IMAGE_PATH=$(find ${SRCROOT} -name "AppIcon60x60@2x.png")
    #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标识的图片放置在其上面。然后将合成的图片保存为应用的图标。
    提示:应用程序图标名字不是任意的。在最终的产品,应用程序图标的名称必须像AppIcon60x60@2x.png。Xcode使用此命名约定来确定使用哪个图标根据设备使用。

    PATH=${PATH}:/usr/local/bin
    IFS=$' '
    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 "AppIcon60x60@2x.png"
    generateIcon "AppIcon60x60@3x.png"
    generateIcon "AppIcon76x76~ipad.png"
    generateIcon "AppIcon76x76@2x~ipad.png"
    本访问这个论点通过使用$1,并设置变量BASE_IMAGE_PATH.$ { BASE_IMAGE_PATH }然后放置AppIcon60x60@2x之前放置的地方。
    你将会发现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=$' '
    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 "AppIcon60x60@2x.png")
    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 "AppIcon60x60@2x.png"
    generateIcon "AppIcon60x60@3x.png"
    generateIcon "AppIcon76x76~ipad.png"
    generateIcon "AppIcon76x76@2x~ipad.png"

  • 相关阅读:
    常用品牌交换机镜像抓包配置
    BGP知识点备忘录
    IS-IS路由协议地址详解
    Linux msmtp+mutt发邮件
    Linux添加一临时用户拥有root权限最快方式
    ELK5.0全程普通用户源码安装指南(CentOS6.5)
    改变文件的拥有者和改变文件的拥有组
    Linux chmod命令详解
    Linux目录介绍
    php时间戳转化成时间相差8小时问题
  • 原文地址:https://www.cnblogs.com/PJXWang/p/6877131.html
Copyright © 2011-2022 走看看