iOS APPIcon 修改(脚本)

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"

时间: 2024-12-11 16:24:51

iOS APPIcon 修改(脚本)的相关文章

iOS framework配置脚本

# Sets the target folders and the final framework product. FMK_NAME=HovnVoipEngine FMK_VERSION=1.0 # Install dir will be the final output to the framework. # The following line create it in the root folder of the current project. INSTALL_DIR=${SRCROO

linux系统mysql密码修改脚本

编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一键环境安装包:http://help.aliyun.com/view/11108189_13435438.html?spm=5176.7224445.1997283057.5.RLNWqv 下载地址: gbk版:默认使用这个版本 wget http://jinxiang.oss-cn-hangzho

[分享]运维分享一一阿里云linux系统mysql密码修改脚本

[分享]运维分享一一阿里云linux系统mysql密码修改脚本     大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信 只看楼主 更多操作楼主  发表于: 2014-09-30 编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一键环境安装包:http://help.aliyun.com/view/11108189_13435438

IOS 其他 - 修改项目名

IOS 项目修改项目名 第一步:修改项目名 第二步:修改Scheme名称 第三步:修改Test配置 第四步:修改文件夹名称: 首先在相应的项目文件夹中修改文件夹名称,此处修改之后,Xcode项目肯定会报错的,然后请进行下面操作(如图) 第五步:修改相应配置

iOS开发——修改指定文件的内存管理状态

今天项目要上线,在Archive时报错:  ARC forbids explicit message send of 'release' 'release' is unavailable: not available in automatic reference counting mode   项目中有几个第三方库用到MRC,在release时报错.在运行时没有用到这个库所以没有报错(没有确定).于是我改了那几个文件为MRC状态,成功Archive,在ARC改为-fobjc-arc,MRC为-f

Pod管理的iOS项目修改工程名

声明:本文大部分内容来自于以下网址,其余的部分是自己尝试的总结和补充. http://www.jianshu.com/p/5f088acecf64 完整修改iOS工程名1 http://www.cnblogs.com/GarveyCalvin/p/4195745.html   完整修改iOS工程名2 http://blog.csdn.net/freedom2028/article/details/10244819  iOS工程中删除pod http://blog.csdn.net/xiaonai

IOS ITunesConnect 修改开发商名称

ItunesConnect→ManagerApps→应用→Contact Us IOS ITunesConnect 修改开发商名称

iOS国际化——通过脚本使storyboard翻译自增

一. 针对两种文件的国际化处理 代码中即.m文件的国际化 首先在你需要进行国际化处理的字符串外面加一层NSLocalizedString,注意中文也是可以的哦 textfield.text = [NSString stringWithFormat:NSLocalizedString(@"使用帮助", nil)]; NSLocalizedString是一个定义在NSBundle.h中的宏,其用途是寻找当前系统语言对应的Localizable.strings文件中的某个key的值. 第一个

iOS 通用交叉编译脚本

唔. 一般在pc上我们都是 ./configure make make install 一套打完收工..但是ios上怎么破.? -0- 主要是一些环境需要手动配置... 这里写了一些比较常见的环境. 把这玩意放到configure同路径下. 执行这脚本就OK了. 测试bson和lame库都OK #!/bin/bash BUILD_I386_IOS_SIM=1 BUILD_ARMV7_IPHONE=1 BUILD_ARMV7S_IPHONE=1 BUILD_TARGET=lame IOS_MIN_