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

前一篇: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
    原文作者:独孤流
    原文地址: https://www.jianshu.com/p/b85220743411
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞