美文网首页
不用频繁更改配置,两句shell脚本完成iOS打包

不用频繁更改配置,两句shell脚本完成iOS打包

作者: Fiona_L | 来源:发表于2018-03-08 11:55 被阅读78次

    因为之前每次打包都需要更改工程的签名和证书,debug改成distribution,然后打完包再改回来,既耽误时间,打包的时候还不能干别的要干等着,所以希望通过脚本来打包,解决这个问题。
    我们都知道执行xcodebuild命令就可以实现用终端打包,其中最基础最核心的是下面两个命令:

    // 打包,scheme名在Product->Scheme->Manager Schemes...查看
    xcodebuild archive -workspace 工程名.xcworkspace -scheme scheme名
    

    执行这条命令以后会生成一个如下图所示的包文件


    WechatIMG39.png

    这个包可以用于解崩溃日志等,但是不能直接安装在手机上。我们还需要导出一个可安装的ipa文件。

    // 导出ipa包
    xcodebuild -exportArchive -archivePath 上图包文件名.xcarchive -exportPath ExportDestination -exportOptionsPlist 'ExportOptions.plist'
    

    其中.xcarchive就是刚才生成的包文件,那ExportOptions.plist又是什么呢?这个plist文件就是存储着对应的签名或者证书配置,Xcode9之后这个文件时会在每一次我们使用Xcode中的Archive打包后,导出的文件夹中找到,我们从之前打包的文件夹里取出来就可以直接用了。

    把这两句命令写成shell脚本,就可以更简单地完成打包了,脚本的内容如下:

    xcodebuild archive -workspace 工程名.xcworkspace -scheme 工程名 -archivePath 包存储的地址/包文件名
    xcodebuild -exportArchive -archivePath 包存储的地址/包文件名.xcarchive -exportPath -exportPath 包存储的地址/目标文件夹名 -exportOptionsPlist 'ExportOptions.plist'
    

    最后我们可以函数化这个shell脚本,使得以后更改配置更方便:

    archive(){
    #***********配置
    #工程名
    ProjectName=$1
    #scheme名字
    Scheme=$2
    #日期
    Date=`date +%Y%m%d_%H%M`
    #工程路径
    Workspace=$3
    #build路径
    BuildDir=$4
    #plist文件名,默认放在工程文件路径的位置
    PlistName=$5
    
    #创建构建和输出的路径
    mkdir -p $BuildDir
    Date=`date +%Y%m%d_%H%M`
    
    #构建
    xcodebuild archive \
    -workspace "$ProjectName.xcworkspace" \
    -scheme "$Scheme" \
    -archivePath "$BuildDir/$ProjectName"
    
    #生成ipa
    xcodebuild -exportArchive \
    -archivePath "$BuildDir/$ProjectName.xcarchive" \
    -exportPath "$BuildDir/$ProjectName$Date" \
    -exportOptionsPlist "$Workspace/$PlistName"
    
    }
    
    archive "xxx" "xxx" "..../xxx" "..../Package" "ExportOptions.plist"
    

    其中xxx是工程名,两个...分别指工程路径和打出来的包希望存储的目标路径。
    这样就能完成最基本的打包了,此外xcodebuild还有其他参数:
    -configuration 设置Release还是Debug
    打包前还可以按需clean:

    xcodebuild -workspace 工程名.xcworkspace -scheme scheme名
    

    相关文章

      网友评论

          本文标题:不用频繁更改配置,两句shell脚本完成iOS打包

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