首先, 安装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/