iOS shell 脚本实现自动打包

方法很简单,先上源码:

#!/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/{project_name}/{now}”,替换xxxx为自身用户名即可。
(2)第33行代码——打包配置plist文件路径,这个 ExportOptions.plist 文件需要先创建。同时需要做相应配置,配置如下:

compileBitcodedestinationexportmethoddevelopmentprovisioningProfilescom.apple.TestcommonDevsigningCertificateiPhone DevelopersigningStylemanualstripSwiftSymbolsteamIDXU7ANthinning<none>

其中 provisioningProfiles 与 teamID 是证书配置,需根据自身证书情况做相应配置。
(3)最后将 .sh 文件与 ExportOptions.plist 文件 同时放在与.xcodeproj 同一个目录,运行 .sh文件即可。

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容