打包脚本

146 阅读1分钟
#!/bin/sh

#使用方法:bash -l ./build_config.sh

# 工程名

project_name="XLTest" 

# 有效值 ****.xcodeproj / ****.xcworkspace (cocoapods项目)

target_name="XLTest"

# 有效值 project / workspace (cocoapods项目)

work_type="workspace" 

# ipa包名

ipa_name="XLTest_iOS"

# 打包日期

archive_date=`date +%Y%m%d_%H%M`

# Release还是Debug

configuration=Release

# 工程路径 也就是xxx.xcworkspace的路径 在.sh文件的上一级目录

workspace=../../XLTest_ios

# build路径 编译成.xcarchive的路径

build_dir=./Build

# plist文件名,默认放在工程文件路径的位置

plist_name=./Plist/ExportOptions.plist

# 打包类型 是AppStore类型的 还是add-hoc类型的

# ipa包的路径

archive_path=./prod

# ipa包的路径文件

file_path=${archive_path}/${project_name}-${archive_date}/${ipa_name}.ipa

# 创建构建和输出的路径

mkdir -p ${build_dir}

# 构建 导出包 所用的路径

mkdir -p ${archive_path}

echo '**** 开始清理工程  ****'

# -UseNewBuildSyetem=NO 采用传统模式打包
# -UseNewBuildSyetem=YES 采用新模式打包

xcodebuild clean -${work_type}  ${workspace}/${project_name}.xcworkspace -scheme ${target_name} -configuration ${configuration}  -UseNewBuildSyetem=YES

echo '测试数据'${plist_name}

echo '**** 清理工程完毕  ****'

#pod 相关配置

#更新pod配置

#pod install

echo "打包的工程"${project_name}.xcworkspace

echo '**** 开始编译打包工程   ****' ${configuration}

#构建

xcodebuild archive \

-$work_type ${workspace}/${project_name}.xcworkspace  \

-scheme ${target_name} \

-configuration ${configuration} \

-archivePath ${build_dir}/${project_name}.xcarchive -quiet \

clean \

build

echo '**** 编译打包工程完毕  ****'

echo '******  开始导出IPA ******'

echo '导出的文件路径和名称'${build_dir}/${project_name}.xcarchive

#生成ipa

xcodebuild -exportArchive \

-archivePath ${build_dir}/${project_name}.xcarchive \

-exportPath ${archive_path}/${project_name}-${archive_date} \

-exportOptionsPlist ${plist_name}

echo '******  导出IPA成功 ******'

open ${build_dir}

echo '******  打开打包的目录成功 ******'

echo '******  删除编译的.xcarchive ******'

if [ -d "${build_dir}" ]; then

rm -rf "${build_dir}"

echo 'build文件夹删除成功'

fi

echo "IPA包的路径打印"${file_path}

cp -rf ${file_path} ../prod

open ../prod