动态生成appIcon(加水印)

首先, 安装ImageMagick,ImageMagick是一个非常强大的图形处理库,专门通过终端进行。你可以非常简单地通过Homebrew来安装ImageMagick。

1 更新brew

brew update

2 安装ImageMagick

brew install ImageMagick

3 接下来,安装Ghostscript,因为你将使用的ImageMagick会依赖它。它提供了支持ImageMagick的字体。

brew install ghostscript

4 尝试更改一张图片, 先切换路径到图片所在文件夹

执行

convert icon.png -fill black -font Times-Bold -pointsize 18 -gravity south -annotate 0 "kangbing" icon1.png

icon.png 是原文件名;

fill black 设置文本为白色;

font Times-Bold 利用ImageMagick使用的字体;

pointsize 18 设置字体的大小18;

gravity south 文本与图片的底部对齐

annotate 0 “kangbing” 利用ImageMagick使带有“kangbing”文本的图片旋转的度数为0度;

icon1.png 最后输出的文件名。

5 现在已经成功生成一张图片, 下面就需要在Xcode里集成命令, 生成图片, 在进行打包. 创建一个工程icon, 并把icon放进工程.

编译之前先运行脚本, 创建脚本

创建成功, 如下图

打印编译运行项目后文件所在路径, 右键查看包内容, 可看到ipa资源 echo “${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}”

打印项目文件所在的文件夹路径 echo “${SRCROOT}”

查看编译log

第一个路径是项目编译运行后所在的文件路径, 包资源里有生成的icon图, 也就是运行在手机里的icon

第二个路径是我们本地项目所在路径, 首先拿到本地icon

在进行加水印文字, 覆盖第一个路径里.

PATH=${PATH}:/usr/local/bin

IPA_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppIcon60x60@2x.png"

LOCAL_PATH=$(find ${SRCROOT} -name "AppIcon60@2x.png")

convert "${LOCAL_PATH}" -fill black -font Times-Bold -pointsize 18 -gravity south -annotate 0 "`date +%m-%d/%H:%m`" "${IPA_PATH}"

添加到工程里

运行后发现已成功生成

目前更改的只是@2x图片, @3x图片并没有被改变, 在5.5寸屏没有效果, 为了替换多张, 就写个函数多次调用, 同时为了便于测试识别是哪天发的包, 使用 date +%m-%d/%H:%m 获取当前打包时间. 如下:

function changeIcon () {

PATH=${PATH}:/usr/local/bin

IPA_PATH="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/$1"

LOCAL_PATH=$(find ${SRCROOT} -name $2)

convert "${LOCAL_PATH}" -fill black -font Times-Bold -pointsize 18 -gravity south -annotate 0 "`date +%m-%d/%H:%m`" "${IPA_PATH}"

}

changeIcon "AppIcon60x60@2x.png" "AppIcon60@2x.png"

changeIcon "AppIcon60x60@3x.png" "AppIcon60@3x.png"

changeIcon "AppIcon40x40@2x.png" "AppIcon40@2x.png"

changeIcon "AppIcon40x40@3x.png" "AppIcon40@3x.png"

changeIcon "AppIcon29x29@2x.png" "AppIcon29@2x.png"

changeIcon "AppIcon29x29@3x.png" "AppIcon29@3x.png"

changeIcon "AppIcon20x20@2x.png" "AppIcon20@2x.png"

changeIcon "AppIcon20x20@3x.png" "AppIcon20@3x.png"

如图, 已生成.

同时脚本可单独拿出去配合jenkins使用, 当构建的时候执行bash t.sh, 然后打包完成, 自动上传蒲公英, fir等第三方分发平台.

参考资料 http://merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/