美文网首页iOS奇淫巧技iOS
iOS自动打包ipa(shell脚本)

iOS自动打包ipa(shell脚本)

作者: TroyZhang | 来源:发表于2016-08-04 15:45 被阅读1215次

    系列

    iOS自动打包ipa(shell脚本)
    iOS自动打包ipa(Python脚本)

    安装xctool

    brew install xctool
    

    shell脚本

    // 将脚本保存到iOS项目的根目录
    $ cd $iOS项目目录
    $ vim build_using_xctool.sh
    
    #!/bin/bash
    
    if [[ $# < 1 ]]; then
      echo "请输入更新日志"
      exit 2
    fi
    
    #计时
    SECONDS=0
    
    #假设脚本放置在与项目相同的路径下
    project_path=$(pwd)
    #取当前时间字符串添加到文件结尾
    now=$(date +"%Y_%m_%d_%H_%M_%S")
    
    #指定项目的scheme名称
    scheme="******"
    #指定要打包的配置名
    configuration="Release"
    #指定打包所使用的provisioning profile名称
    provisioning_profile='******'
    
    #指定项目地址
    workspace_path="$project_path/******.xcworkspace"
    #指定输出路径
    output_path="******"
    #指定输出归档文件地址
    archive_path="$output_path/******${now}.xcarchive"
    #指定输出ipa地址
    ipa_path="$output_path/******${now}.ipa"
    
    #输出设定的变量值
    echo "===workspace path: ${workspace_path}==="
    echo "===archive path: ${archive_path}==="
    echo "===ipa path: ${ipa_path}==="
    echo "===profile: ${provisioning_profile}==="
    
    #先清空前一次build
    xctool clean -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration}
    
    #根据指定的项目、scheme、configuration与输出路径打包出archive文件
    xctool build -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration} archive -archivePath ${archive_path}
    
    #使用指定的provisioning profile导出ipa
    #我暂时没找到xctool指定provisioning profile的方法,所以这里用了xcodebuild
    xcodebuild -exportArchive -archivePath ${archive_path} -exportPath ${ipa_path} -exportFormat ipa -exportProvisioningProfile "${provisioning_profile}"
    
    echo "===upload .ipa to PGYER==="
    #上传.ipa到蒲公英,参数`updateDescription`是更新日志
    #参数请查阅:https://www.pgyer.com/doc/api#uploadApp
    curl -F "file=@${ipa_path}" -F "uKey=******" -F "_api_key=******" -F "updateDescription=$1" http://www.pgyer.com/apiv1/app/upload
    
    echo ""
    
    #输出总用时
    echo "===Finished. Total time: ${SECONDS}s==="
    
    #通知
    osascript -e 'display notification "打包上传蒲公英成功!" with title "任务完成"'
    
    //让脚本可以被执行
    $ chmod a+x build_using_xctool.sh
    

    打包

    $ cd $iOS项目目录
    
    // 引号("")中的内容会被作为更新日志提交到蒲公英网站,如果希望日志换行,则在控制台键入Enter符
    $ ./build_using_xctool.sh "2016年8月4号,
    >1,修复部分页面bugs"
    

    参考文章:http://www.jianshu.com/p/54ab07f2e63b

    相关文章

      网友评论

        本文标题:iOS自动打包ipa(shell脚本)

        本文链接:https://www.haomeiwen.com/subject/eibcsttx.html