ios 之 自动打包 一键打包脚本 【bash优化版本】
选择打包scheme
# 选择打包环境
function selectedScheme() {
#statements
echo "请选择打包对象: \n 1) GaoKao(**高考) \n 2) Zhongkao(**中考)"
read app_scheme
if [[ $app_scheme == 1 ]]; then
echo "您选择的是:GaoKao(**高考)"
app_scheme="GaoKao"
elif [[ $app_scheme == 2 ]]; then
echo "您选择的是:Zhongkao(**中考)"
app_scheme="Zhongkao"
else
selectedScheme
fi
}
选择打包环境
function selectedConfiguration() {
#statements
echo "-- 😁 --\n"
echo "--\n"
echo "请选择打包环境:\n 1)Release \n 2)LXRelease_dev \n 3)LXRelease_kfc \n 4)LXRelease_tsl"
read configuration
if [[ $configuration == 1 ]]; then
echo "您选择的是Release环境"
configuration="Release"
elif [[ $configuration == 2 ]]; then
echo "您选择的是LXRelease_dev环境"
configuration="LXRelease_dev"
elif [[ $configuration == 3 ]]; then
echo "您选择的是LXRelease_kfc环境"
configuration="LXRelease_kfc"
elif [[ $configuration == 4 ]]; then
echo "您选择的是LXRelease_tsl环境"
configuration="LXRelease_tsl"
else
selectedConfiguration
fi
}
读取更新信息
function readUpdateInfo() {
echo "-\n"
echo "--\n"
echo "请输入您当前版本更新信息:"
read update_info
}
打印打包信息
function logPackageInfo() {
echo "打包信息---------->:\n"
echo "打包scheme是 -->: ${app_scheme}"
echo "您选择的是 -->: ${configuration}"
echo "版本更新信息 -->: ${update_info}"
}
上传dSYM到bugly进行分析
# -------------------->> 上传 dSYM 文件
function uploaddSYMFile() {
#statements
echo "bugly --- start......"
output_file_name=""
bugly_appName=""
bugly_configName=""
if [[ ${app_scheme} = "GaoKao" ]]; then
bugly_appName="**高考"
elif [[ ${app_scheme} == "Zhongkao" ]]; then
bugly_appName="**中考"
fi
if [[ ${configuration} = "LXRelease" ]]; then
bugly_configName=""
elif [[ ${configuration} = "LXRelease_dev" ]]; then
bugly_configName="dev"
elif [[ ${configuration} = "LXRelease_tsl" ]]; then
bugly_configName="tsl"
elif [[ ${configuration} = "LXRelease_kfc" ]]; then
bugly_configName="kfc"
fi
output_file_name="${app_scheme}_${configuration}"
bugly_dsym_zip_path="./AppOutput/${output_file_name}.app.dSYM.zip"
echo "kael ------rm"
# rm "./AppOutput/dsym_upload/"
find "./AppOutput/dsym_upload/" -name "*.dSYM" | xargs rm -rf
find "./AppOutput/" -name "dsym_upload.zip" | xargs rm -rf
echo "kael ------rm -- end"
# 解压文件
echo "kael ------unzip"
echo "path -- $bugly_dsym_zip_path"
unzip ${bugly_dsym_zip_path} -d "./AppOutput/dsym_upload/"
bugly_java_path="./buglySymboliOS/buglySymboliOS.jar"
bugly_dsym_path="./AppOutput/dsym_upload/"
echo "${bugly_dsym_path}"
echo "kael ------upload start"
java -jar $bugly_java_path -i $bugly_dsym_path -dsym -u -id 900058462 -key f8V5dgJO5em0CPPk -package com.lexue.lexuegaokao -version 3.3.3
}
普通打包
# -------------------->> 普通打包任务
function normal_archive() {
#statements
selectedScheme
# # 等待 沉睡
# sleep 0.5s
# 选择打包环境
selectedConfiguration
# 等待 沉睡
sleep 0.5s
# 读取版本更新信息
readUpdateInfo
# 等待 沉睡
sleep 0.5s
# 打印更新信息
logPackageInfo
fastlane ipa_release scheme:$app_scheme configuration:$configuration update_info:$update_info
logPackageInfo
uploaddSYMFile
}
多环境 多scheme 打包
# -------------------->> 单个打包任务
function one_serial_archive() {
app_scheme=$1
configuration=$2
update_info=$3
#打印信息
logPackageInfo
# 打包导出
fastlane ipa_release scheme:$app_scheme configuration:$configuration update_info:$update_info
# 打印信息
logPackageInfo
# 上传dSYM
uploaddSYMFile
}
# -------------------->> 多个打包任务
function serial_archive() {
readUpdateInfo
# 中考
one_serial_archive "Zhongkao" "Release" $update_info
one_serial_archive "Zhongkao" "LXRelease_dev" $update_info
one_serial_archive "Zhongkao" "LXRelease_kfc" $update_info
one_serial_archive "Zhongkao" "LXRelease_tsl" $update_info
# 高考
one_serial_archive "GaoKao" "Release" $update_info
one_serial_archive "GaoKao" "LXRelease_dev" $update_info
one_serial_archive "GaoKao" "LXRelease_kfc" $update_info
one_serial_archive "GaoKao" "LXRelease_tsl" $update_info
}
脚本使用
# 打包一系列环境的包
serial_archive
命令行工具中输入sh ipa.sh
即可
文件共享
buly文件链接:https://pan.baidu.com/s/13jaP6Jggp6DcDwqXYeEjHg 密码:lowx JDK(java环境安装文件)链接:https://pan.baidu.com/s/1NtGdP0cANQz7TtyYU2mycg 密码:f6af