【IOS】AppIcon添加版本号文本

本文介绍如何使用ImageMagick工具自动在iOS应用图标上添加版本号和编译号,包括必要的依赖安装步骤及Xcode中的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:iOS ImageMagick 图片添加编译号

brew install imagemagick
brew install ghostscript

是否安装成功
identify -version
identify -list font

根据错误提示看是否需要安装
xcode-select --install
brew install --build-from-source python@3.9

xcode -> build Phases -> 添加 run script:

#!/bin/bash

echo "✅  ==========APPicon添加版本号开始=========="
#######################################################
# 1、检查是否安装了ImageMagick
#######################################################
echo "🐛 Checking installed ImageMagick"

convertPath=`which convert`

if [[ ! -f ${convertPath} || -z ${convertPath} ]]; then
    convertValidation=true;
else
    convertValidation=false;
fi

# 未安装 提示并退出
if [ "$convertValidation" == true ]; then
    echo "❌ ImageMagick 未安装,请使用命令安装\n brew  install  imagemagick"
    exit 0;
else
    echo "✅ ImageMagick 已安装"
fi

 
######################################################
# 2. 全局字段
######################################################

echo "😀Product Name: ${PRODUCT_NAME}"
echo "😀Bundle Identifier: ${BUNDLE_IDENTIFIER}"
echo "😀Version: ${MARKETING_VERSION}"
echo "😀Build: ${CURRENT_PROJECT_VERSION}"


# Assets中的appIcon文件名
APPICON_NAME="AppIcon"

# Assets中Debug环境的appIcon文件名
DEBUG_APPICON_NAME="${APPICON_NAME}-Debug"

# # 获取app版本号
# APP_VERSION=$(/usr/libexec/PlistBuddy -c 'Print CFBundleShortVersionString' "${INFOPLIST_FILE}")

# # 获取build号
# APP_BUILD_NUM=$(/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' "${INFOPLIST_FILE}")

# xcode11 最新写法
# 获取app版本号
APP_VERSION="$MARKETING_VERSION"

# 获取build号
APP_BUILD_NUM="$CURRENT_PROJECT_VERSION"

# Icon上显示的文字内容, 你可以在这里修改标题格式
CAPTION="$APP_VERSION\n($APP_BUILD_NUM)"



echo "😀 DEBUG_APPICON_NAME=$DEBUG_APPICON_NAME"
echo "😀 版本号=$APP_VERSION"
echo "😀 编译号=$APP_BUILD_NUM"


######################################################
# 3. 复制AppIcon到AppIcon-Debug
######################################################
echo "🐛 Begin copy icon files"

# appicon路径
APPICON_SET_PATH=`find $SRCROOT -name "${APPICON_NAME}.appiconset"`

echo "🐛 APPICON_SET_PATH=$APPICON_SET_PATH"
if [ "$APPICON_SET_PATH" = "" ]; then
    exitWithMessage "❌  Get APPICON_SET_PATH failed." 0
fi

# appicon_debug路径
ASSET_PATH=`echo $(dirname ${APPICON_SET_PATH})`
DEBUG_APPICON_SET_PATH="${ASSET_PATH}/${DEBUG_APPICON_NAME}.appiconset"
echo "🐛 DEBUG_APPICON_SET_PATH=$DEBUG_APPICON_SET_PATH"
if [ "$DEBUG_APPICON_SET_PATH" = "" ]; then
    exitWithMessage "❌  Get DEBUG_APPICON_SET_PATH failed." 0
fi


# 删除appicon_debug里的文件
rm -rf $DEBUG_APPICON_SET_PATH
if [ $? != 0 ];then
    exitWithMessage "❌  Remove ${DEBUG_APPICON_SET_PATH} failed." 0
fi

# 复制appicon到appicon_debug
cp -rf $APPICON_SET_PATH $DEBUG_APPICON_SET_PATH
if [ $? != 0 ];then
    exitWithMessage "❌  Copy ${APPICON_NAME} to ${DEBUG_APPICON_NAME} failed." 0
fi


echo "✅  Finish copy icon files."



# # 处理icon,添加水印
# # Processing icon
function processIcon() {

BASE_IMAGE_PATH=$1
echo "BASE_IMAGE_PATH=$BASE_IMAGE_PATH"

BASE_FLODER_PATH=`dirname $BASE_IMAGE_PATH`
cd "$BASE_FLODER_PATH"

# 获取图片宽度
WIDTH=$(identify -format %w ${BASE_IMAGE_PATH})
echo "width $WIDTH"

FONT_SIZE=$(echo "$WIDTH * .15" | bc -l)
echo "font size $FONT_SIZE"

convert ${BASE_IMAGE_PATH}  -font Helvetica  -pointsize ${FONT_SIZE} \
-draw "gravity south \
fill white  text 0,12 '$APP_VERSION'" \
${BASE_IMAGE_PATH}


}



#######################################################
# 4. 处理AppIcon-Debug
#######################################################
find "$DEBUG_APPICON_SET_PATH" -type f -name "*.png" -print0 |

while IFS= read -r -d '' file; do

echo "🐛🐛 ${file}"
# 调用 processIcon 方法
processIcon "${file}"

done

echo "✅  ==========APPicon添加版本号结束=========="

xcode -> build Settings ->Primary App Icon set Name -> Debug修改为AppIcon-Debug
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值