zoukankan      html  css  js  c++  java
  • ios shell打包脚本 xctool

    #! /bin/bash
    
    project_path=$(dirname $0)
    
    project_config=Release
    
    output_path=~/Desktop
    
    build_scheme=YKTicketsApp
    
    workspace_name=YKTicketsApp
    
    parameter=":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
        done
    
    workspace_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_cmd
    
    clean_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_cmd
    
    if [ $? -ne 0 ]; then
        echo "清理项目失败,请检查工程。" 
        exit 30
    fi
    
    
    build_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_cmd
    
    if [ $? -ne 0 ]; then
        echo "构建项目失败,请检查工程。" 
        exit 31
    fi
    
    xcodebuild -exportArchive -archivePath ${archive_path} -exportPath ${ipa_path} -exportFormat ipa
    
    run_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_cmd
    
    if [ $? -ne 0 ]; then
        echo "打包项目失败,请检查工程。" 
        exit 32
    fi
  • 相关阅读:
    东软中标清华大学一站式服务平台项目
    抢占DevOps制高点,东软UniEAP&SaCa平台强势崛起
    智慧监狱来了!SaCa EMM 助推现代监狱建设迈上新台阶
    移动金融办公威胁不断,这些坑千万别跳!
    比悲伤更悲伤的故事,那就是...
    这还是你见过的大学实验室吗?
    越智能?越危险?技术到底应不应该进步?
    新一代的IT实验室长啥样?
    产品“佩奇”闹元宵,新春点亮新网站
    危机四伏的千亿级金融放贷市场,我们能做什么?
  • 原文地址:https://www.cnblogs.com/nmzd/p/5555799.html
Copyright © 2011-2022 走看看