方法很简单,先上源码:
#!/bin/sh
#计时
SECONDS=0
# 项目名称
project_name=`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'`
echo "工程名是: $project_name"
# 当前时间(用于区分目录名打包时间)
now=$(date +"%Y-%m-%d_%H-%M-%S")
echo "打包时间是: $now"
# scheme名称
scheme_name=${project_name}
echo "scheme名称是: $scheme_name"
# 项目路径【把该.sh文件放在xxx.xcodeproj同一目录下】
project_path='./'
#导出目录
export_path="/Users/pilipala/Desktop/${project_name}/${now}"
echo "导出目录是: $export_path"
#ipa包路径(用于检验是否导出成功)
export_ipa_path = "${export_path}/${project_name}.ipa"
echo "ipa包路径是: $export_ipa_path"
#编译build路径
archive_path="${export_path}/${project_name}.xcarchive"
echo "编译build路径是: $archive_path"
# 打包配置plist文件路径【这个文件需要先创建】
plist_path='./ExportOptions.plist'
#打包方式
build_type="project"
# workspace/xcodeproj 路径(根据项目是否使用cocoapod,确定打包的方式)
if [ -e "${project_path}/${project_name}.xcworkspace" ];then
workspace_path="${project_path}/${project_name}.xcworkspace"
build_type="workspace"
else
workspace_path="${project_path}/${project_name}.xcodeproj"
echo "工程路径是: $workspace_path"
build_type="project"
fi
echo ${workspace_path}
# scheme名称
scheme_name=${project_name}
# 配置打包样式:Release/ad-hoc/Debug
configuration='Release'
echo "打包样式是: $configuration"
echo '=============正在清理工程============='
echo $configuration
xcodebuild
clean -${build_type} ${workspace_path}
-scheme ${scheme_name}
-configuration ${configuration} -quiet || exit
echo '清理完成-->>>--正在编译工程:'${workspace_path}
# build
if [ -d ${workspace_path} ];then
xcodebuild archive -${build_type} ${workspace_path}
-scheme ${scheme_name}
-configuration ${configuration}
-archivePath ${archive_path} -quiet || exit
else
echo 'workspace 不存在'
fi
# 检查是否构建成功(build)
if [ -d ${archive_path} ] ; then
echo '=============项目 build 成功============='
else
echo '=============项目 build 失败============='
exit 1
fi
# exprot
echo '编译完成-->>>--开始ipa打包'
xcodebuild -exportArchive -archivePath ${archive_path}
-configuration ${configuration}
-exportPath ${export_path}
-exportOptionsPlist ${plist_path}
-quiet || exit
if [ -e ${export_ipa_path} ]; then
#删除编译包文件
rm -rf $archive_path
echo '=============ipa包导出成功============='
else
echo '=============ipa包导出失败============'
echo "${export_ipa_path}"
exit 1
fi
#打包完成,打开目录
open ${export_path}
# 输出总用时
echo "执行耗时: ${SECONDS}秒"
exit 0
新建一个 .sh 文件,然后复制上面的代码。同时修改下面几个地方:
(1)第21行代码——导出目录的路径,前半部分需修改成与自身机器用户名一致的路径。即:export_path=”/Users/xxxx/Desktop/{now}”,替换xxxx为自身用户名即可。
(2)第33行代码——打包配置plist文件路径,这个 ExportOptions.plist 文件需要先创建。同时需要做相应配置,配置如下:
compileBitcode destination export method development provisioningProfiles com.apple.Test commonDev signingCertificate iPhone Developer signingStyle manual stripSwiftSymbols teamID XU7AN thinning <none>
其中 provisioningProfiles 与 teamID 是证书配置,需根据自身证书情况做相应配置。
(3)最后将 .sh 文件与 ExportOptions.plist 文件 同时放在与.xcodeproj 同一个目录,运行 .sh文件即可。
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
部分内容为互联网分享,若有侵权请联系站长删除。
THE END
暂无评论内容