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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,134评论 2 59
  • 背景 一大早刚到公司没多久,测试妹妹小韩跑过来:“老王,麻烦给我发一份xxx项目的最新安装包呗?” 老王:“啥,昨...
    zhuhf阅读 5,011评论 13 44
  • 该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93d...
    刘小壮阅读 37,812评论 45 122
  • 雨湿廊檐,风透薄衫,寒凉微微,落叶沓沓,一场冬雨又将十月小阳春的温暖终结,而一切握在手心里的温暖,在冬日的凛...
    那些年聆听的阅读 266评论 0 0
  • J - Keyboard Layouts CodeForces - 831B There are two popu...
    Nioge阅读 240评论 0 0