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