美文网首页
shell实现iOS自动化打包简单帮助理解事例脚本

shell实现iOS自动化打包简单帮助理解事例脚本

作者: Hanfank | 来源:发表于2018-06-29 14:05 被阅读30次
    • 本博文主要作用是能把读者思路理清、概念整明。

    三、示范使用一下(简化)

    自动打包

    二、使用方法示例:

    1、新建一个autoPackger.sh文件到桌面上。
    2、复制以下脚本到文件内,并修改,保存。
    3、在终端中输入sh /Users/HanDa/Desktop/autoPackger.sh
    4、回车

    一、脚本

    #!/bin/sh
    # 此脚本为自动化打包程序
    # shell+xcodebuild实现自动化打包
    # by HanDa 2018-6-22
    
    # 基本设置(需要修改) - 这个是我的项目存放目录,也就是.xcodeproj所在的目录
    projectPath="/Users/HanDa/Documents/GitSpace/AutoPackger/DSBet"
    # 基本设置(需要修改) - xcworkspace 名称 
    # Q:我使用的是.xcodeproj怎么办呢?
    # A:那就写成AutoPackger.xcodeproj,然后打开下方注释的代码,搜索“(使用project)”
    work_space="AutoPackger.xcworkspace"
    # 基本设置(需要修改) - 需要打包的Target名称
    target="AutoPackger"
    
    # 导出设置(需要修改) - 产生的ipa目录,签名完之后将ipa保存到哪里
    exportPath="/Users/HanDa/Desktop/AutoPackger"
    # 导出设置(需要修改) - 导出包时的Plist文件。这个文件可以通过手动打包方式导出一次就会自动生成,复制出来用就可以了,当然也可以自己手动新建。
    exportOptionsPlist="/Users/HanDa/Desktop/ExportOptions.plist" 
    # 导出设置(需要修改) - 导出的Ipad名称
    exportName="AutoPackger"
    
    #-------------------------- 以上为需要配置的信息,以下不再需要配置 -------------------------------
    
    
    # cd 到 projectPath 这个路径
    cd ${projectPath}
    
    echo “<-----------------开始clean所有target------------------->”
    #clean所有target项目
    xcodebuild clean -configuration Release -alltargets
    
    # 编译 ".xcarchive" 文件的存放地址
    archivePath="${exportPath}/${exportName}.xcarchive"
    
    echo “<-----------------开始归档archive文件------------------->”
    # 归档 对应手动打包archive(使用workspace)
    xcodebuild archive -workspace ${work_space} -scheme ${target} -configuration Release -archivePath ${archivePath}
    # 归档 对应手动打包archive(使用project)
    # xcodebuild archive -project ${work_space} -scheme ${target} -configuration Release -archivePath ${archivePath}
    
    # 生成打包时间
    time=$(date "+_%Y-%m-%d_%H-%M-%S")
    
    # 拼接导出ipa的地址
    ipaPath="${exportPath}/${exportName}${time}"
    
    echo “<-----------------开始导出ipa文件------------------->”
    # 对应导出步骤
    xcodebuild -exportArchive -archivePath ${archivePath} -exportPath ${ipaPath} -exportOptionsPlist ${exportOptionsPlist}
    
    # 文件绝对路径Fir使用
    uploadPath="${ipaPath}/${target}.ipa"
    # 打印路径
    echo ${uploadPath}
    
    echo “<-----------------开始上传到Fir------------------->”
    # 使用fir-cli上传测试包,当然需要安装fir-cli,安装方法:https://github.com/FIRHQ/fir-cli
    # 通过Token登录Fir ,此Token到Fir官网生成。
    fir login "Token"
    # 上传到Fir ,${uploadPath} 是ipa包的地址,-Q 参数, 是否生成发布后二维码, 默认为不生成, 加上 -Q 参数后会在当前目录生成一张二维码图片, 扫描该图片即可下载该应用.
    fir publish ${uploadPath} -Q
    echo “<-----------------结束------------------->”
    
    • 欢迎关注,下周继续出一个多Target打包脚本
    • 转载请注明出处,谢谢。

    相关文章

      网友评论

          本文标题:shell实现iOS自动化打包简单帮助理解事例脚本

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