美文网首页
iOS shell脚本自动打包

iOS shell脚本自动打包

作者: 尤先森 | 来源:发表于2019-06-20 10:44 被阅读0次

    在我们开发完APP后,打包上架很正常,但打包经常需要很长的时间,特别是有时候只是一个小BUG,改完立马又要给测试们测试,改错一分钟,打包半小时!这打包的过程既浪费时间又降低效率。
    shell自动打包可以以很快的速度完成打包动作,从而提高效率。

    1.Xcode设置

    1. Xcode关闭自动证书配置,手动配置,与下文中的plist配置文件名保持一致即可。
    2. 确认BundleID一致,且Xcode不报错

    2.准备plist文件

    ad-hoc模板
    image.png
    App Store模板
    image.png

    3. 准备脚本shell.sh

    tips: 如果项目使用pods管理,没有.xcworkspace,只有xcodeproj:只需将-project替换成-workspace

    xcodebuild \
    archive -project ${project_name}.xcodeproj \
    ↓↓↓↓↓↓↓↓↓↓↓↓↓ 替换 ↓↓↓↓↓↓↓↓↓↓↓↓↓
    xcodebuild \
    archive -workspace ${project_name}.xcworkspace \
    
    #工程名
    project_name=shell脚本打包
    
    #打包模式 Debug/Release
    development_mode=release
    
    #scheme名
    scheme_name=shell脚本打包
    
    #plist文件所在路径
    exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist
    
    #导出.ipa文件所在路径
    exportFilePath=~/Desktop/$project_name-ipa
    
    echo '*** 正在 清理工程 ***'
    xcodebuild \
    clean -configuration ${development_mode} -quiet  || exit
    echo '*** 清理完成 ***'
    
    
    echo '*** 正在 编译工程 For '${development_mode}
    xcodebuild \
    archive -project ${project_name}.xcodeproj \
    -scheme ${scheme_name} \
    -configuration ${development_mode} \
    -archivePath build/${project_name}.xcarchive -quiet  || exit
    echo '*** 编译完成 ***'
    
    
    echo '*** 正在 打包 ***'
    xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
    -configuration ${development_mode} \
    -exportPath ${exportFilePath} \
    -exportOptionsPlist ${exportOptionsPlistPath} \
    -quiet || exit
    
    # 删除build包
    if [[ -d build ]]; then
       rm -rf build -r
    fi
    
    if [ -e $exportFilePath/$scheme_name.ipa ]; then
        echo "*** .ipa文件已导出 ***"
        cd ${exportFilePath}
        echo "*** 开始上传.ipa文件 ***"
        #此处上传分发应用
        echo "*** .ipa文件上传成功 ***"
    else
        echo "*** 创建.ipa文件失败 ***"
    fi
    echo '*** 打包完成 ***'
    
    
    plist文件以及脚本文件
    image.png
    运行
    1. 打开命令行工具 cd 脚本文件所在文件夹路径
    2. ./xcodebuild.sh
    3. 桌面查收ipa文件夹

    顺便发布到蒲公英

    在ipa文件到处完成后,调用蒲公英的api。
    上文代码替换如下内容(*号中的内容)即可。

    if [ -e $exportFilePath/$scheme_name.ipa ]; then
        echo "*** .ipa文件已导出 ***"
        cd ${exportFilePath}
        echo "*** 开始上传.ipa文件 ***"
        #此处上传分发应用
        echo "************ 开始上传到蒲公英 ************"
        #上传到蒲公英
        #蒲公英aipKey
        MY_PGY_API_K=替换成你的蒲公英aipKey
        #蒲公英uKey
        MY_PGY_UK=替换成你的蒲公英uKey
    
        curl -F "file=@${exportFilePath}/${scheme_name}.ipa" -F "uKey=${MY_PGY_UK}" -F "_api_key=${MY_PGY_API_K}" https://qiniu-storage.pgyer.com/apiv1/app/upload
        echo "************ 蒲公英回调完成 ************"
    else
        echo "*** 创建.ipa文件失败 ***"
    fi
    echo '*** 打包完成 ***'
    

    相关文章

      网友评论

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

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