#! /bin/Bashproject_path=$(dirname$0) Project_config=Releaseoutput_path=~/Desktopbuild_scheme=Ykticketsappworkspace_name=Ykticketsappparameter=":p: c:o:s:w:h:" whilegetopts $parameter optname Do Case "$optname" inch "P") Project_path=$OPTARG;; "C") Project_config=$OPTARG;; "o") Output_path=$OPTARG;; "s") Build_scheme=$OPTARG;; "W") workspace_name=$OPTARG;; "h" ) Echo "-P project path, default to the current path" Echo "- C Fixed plate configuration name, default is release" Echo "- o Packaging output path, default to Desktop" Echo "- S Package usage policy, default to Ykticketsapp" Echo "- w Package workspace name, default is Ykticketsapp"Exit - ;; * ) Echo "Invalid parameter" Echo "-P project path, default to the current path" Echo "- C Fixed plate configuration name, default is release" Echo "- o Packaging output path, default to Desktop" Echo "- S Package usage policy, default to Ykticketsapp" Echo "- w Package workspace name, default is Ykticketsapp"Exit + ;; 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="${output_path}/${date_time}_${project_config}.ipa"#cd $project _path#pod_cmd='pod update--verbose--no-repo-update'# $pod _cmdclean_cmd="Xctool Clean"Clean_cmd="${clean_cmd}-workspace ${workspace_file}"Clean_cmd="${clean_cmd}-scheme ${build_scheme}"Clean_cmd="${clean_cmd}-configuration ${project_config}"Echo${clean_cmd} $clean _cmdif[$?-ne0]; Then Echo "The cleanup project failed, please check the project. "Exit -fiBuild_cmd="Xctool Build"Build_cmd="${build_cmd}-workspace ${workspace_file}"Build_cmd="${build_cmd}-scheme ${build_scheme}"Build_cmd="${build_cmd}-configuration ${project_config} archive"Build_cmd="${build_cmd}-archivepath ${archive_file}"Echo${build_cmd} $build _cmdif[$?-ne0]; Then Echo "failed to build the project, please check the project. "Exit tofiXcodebuild-exportarchive-archivepath ${archive_path}-exportpath ${ipa_path}-ExportFormat Iparun_cmd="XCRUN-SDK Iphoneos"Run_cmd="${run_cmd} packageapplication-v"Run_cmd="${run_cmd} ${archive_file}/products/applications/ykticketsapp.app"Run_cmd="${run_cmd}-o ${ipa_file}"Echo${run_cmd} $run _cmdif[$?-ne0]; Then Echo "The package project failed, please check the project. "Exit +fi
iOS Shell packaging script Xctool