背景
客戶無大企業證書,只有開發者證書,如果進行開發分發測試只能采用兩種方式
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==="
