背景
客户无大企业证书,只有开发者证书,如果进行开发分发测试只能采用两种方式
testfight
ad-hoc打包
上testfight存在一定的审核时间,排除掉,最后选择打ad-hoc的包
解决
查看了jenkins xcode插件,无法指定
查看了xcodebuild 理论上可行,但没有发现指定命令
最后确定使用fastlane gym进行打包
落地脚本如下
#!/bin/bash #计时 SECONDS=0 #假设脚本放置在与项目相同的路径下 project_path=$(pwd) #取当前时间字符串添加到文件结尾 now=$(date +"%Y_%m_%d_%H_%M_%S") #指定项目的scheme名称 scheme="HuaXiApp" #指定要打包的配置名 configuration="Adhoc" #指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数 export_method='ad-hoc' #指定项目地址 workspace_path="$project_path/HuaXiApp.xcodeproj/project.xcworkspace/" #指定输出路径 output_path="$project_path/build" #指定输出归档文件地址 archive_path="$output_path/Demo_${now}.xcarchive" #指定输出ipa地址 ipa_path="$output_path/Demo_${now}.ipa" #指定输出ipa名称 ipa_name="Demo_${now}.ipa" #获取执行命令时的commit message commit_msg="$1" #输出设定的变量值 echo "===workspace path: ${workspace_path}===" echo "===archive path: ${archive_path}===" echo "===ipa path: ${ipa_path}===" echo "===export method: ${export_method}===" echo "===commit msg: $1===" #先清空前一次build fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name} #输出总用时 echo "===Finished. Total time: ${SECONDS}s==="