標籤:
#! /bin/bashproject_path=$(dirname $0)project_config=Releaseoutput_path=~/Desktopbuild_scheme=YKTicketsAppworkspace_name=YKTicketsAppparameter=":p:c:o:s:w:h:"while getopts $parameter optname do case "$optname" in "p" ) project_path=$OPTARG ;; "c" ) project_config=$OPTARG ;; "o" ) output_path=$OPTARG ;; "s" ) build_scheme=$OPTARG ;; "w" ) workspace_name=$OPTARG ;; "h" ) echo " -p 項目路徑,預設為當前路徑" echo " -c 定製版配置名稱,預設為Release" echo " -o 打包輸出路徑,預設為案頭" echo " -s 打包使用原則,預設為YKTicketsApp" echo " -w 打包workspace名,預設為YKTicketsApp" exit 20 ;; * ) echo " 無效參數" echo " -p 項目路徑,預設為當前路徑" echo " -c 定製版配置名稱,預設為Release" echo " -o 打包輸出路徑,預設為案頭" echo " -s 打包使用原則,預設為YKTicketsApp" echo " -w 打包workspace名,預設為YKTicketsApp" exit 21 ;; esac doneworkspace_file="${project_path}/${workspace_name}.xcworkspace"date_time="$(date +"%Y%m%d_%H%M%S")"archive_file="${output_path}/${date_time}_${project_config}.xcarchive"ipa_file="${date_time}_${project_config}.ipa"#指定打包所使用的輸出方式,目前支援app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method參數export_method=‘ad-hoc‘cd $project_path#pod_cmd=‘pod update --verbose --no-repo-update‘#$pod_cmdgym_cmd="gym --workspace ${workspace_file}"gym_cmd="${gym_cmd} --scheme ${build_scheme}"gym_cmd="${gym_cmd} --clean"gym_cmd="${gym_cmd} --configuration ${project_config}"gym_cmd="${gym_cmd} --archive_path ${archive_file}"gym_cmd="${gym_cmd} --export_method ${export_method}"gym_cmd="${gym_cmd} --output_directory ${output_path}"gym_cmd="${gym_cmd} --output_name ${ipa_file}"gym_cmd="${gym_cmd} --use_legacy_build_api"$gym_cmdif [ $? -ne 0 ]; then echo "打包項目失敗,請檢查工程。" exit 32fi
ios shell打包指令碼 gym