美文网首页技术
Jenkins五:自动生成dsYM文件及zip压缩

Jenkins五:自动生成dsYM文件及zip压缩

作者: 独孤流 | 来源:发表于2018-12-08 14:29 被阅读29次

    前一篇:Jenkins四:构建触发器定时任务
    后一篇:Jenkins六:创建自己的Jenkins插件

    前言

    iOS开发中会产生线上崩溃bug,为了搜集这些bug并定位对于的错误地方,主要方式是搜集crash,然后利用每次打包生成的dsYM文件解析,关于这一块的文件和专门处理线上崩溃的第三方平台也很多,个人比较常用的是bugly、友盟等。具体原理及方法参考:

    进入正题,Jenkins自动打包时利用xcode提供的工具dsymutil可以生成dsYM文件,将生成的dsYM压缩后就可以进一步上传到bugly等平台或自己公司服务器

    一、生成dsYM文件的命令如下:

    #完整命令
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Users/wangzz/Library/Developer/Xcode/DerivedData/YourApp-cqvijavqbptjyhbwewgpdmzbmwzk/Build/Products/Debug-iphonesimulator/YourApp.app/YourApp -o YourApp.dSY
    #简化命令,xxxx是路径跟名字,根据个人的项目来设置或定义
    dsymutil "./Release-iphoneos/xxx.app/xxx" -o "xxxx/xxx.app.dSYM"
    

    二、压缩dsYM文件的命令如下:

    zip -q -r -m -o "xxxx.app.dSYM.zip" "xxxxx.app.dSYM"
    

    三、上传压缩dsYM文件的命令如下:

    #curl -k "https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=xxxxxx&app_id=xxxxxx" --form "api_version=1" --form "app_id=xxxxxx" --form "app_key=xxxxxx" --form "symbolType=2"  --form "bundleId=xxx" --form "productVersion=xxxx" --form "channel=xxx" --form "fileName=xxxx.app.dSYM.zip" --form "file=@xxx.app.dSYM.zip" --verbose
    

    1.查看app的UUID,terminal中输入命令 : dwarfdump --uuid xx.app/xx (xx代表你的项目)
    2.查看xx.app.dSYM文件d的UUID,在terminal中输入命令 :dwarfdump -uuid xx.app.dSYM
    3. 查看crash文件内第一行Incident Identifier 就是该crash文件的UUID
    

    相关文章

      网友评论

        本文标题:Jenkins五:自动生成dsYM文件及zip压缩

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