一般来说,使用友盟,bugly等第三方工具查询上线的app崩溃情况是很方便的,正式项目首选也是采用这些专业的工具。但是,如果你遇到一些特别的情况,例如领导要求极限压缩ipa包大小,尽可能少使用第三方框架,或者项目进度太赶,来不及添加第三方工具,项目就要先上线了,如果出现了用户反馈崩溃情况,你需要借助下面的终极查询方式。
1.打开mac终端,输入以下命令:cd /Users/UserName/Library/Developer/Xcode/Archives/2016-07-04/AppName\ 16-7-4\ 下午7.02.xcarchive/dSYMs ,注意黑色字体部分要根据你的项目来进行设置,userName是电脑的用户名,AppName是你xcode建立的项目名称。你会得到终端如下打印:dddeiMac:dSYMs UserName$ dwarfdump --uuid Hairdressing.app.dSYM
UUID: B6AFB5-DE81-32D1-AD65-22DF8EDB10DD (armv7)Hairdressing.app.dSYM/Contents/Resources/DWARF/AppName
UUID: D5B41C-47BA-3A86-BFD4-A5C541CD86DD (arm64)Hairdressing.app.dSYM/Contents/Resources/DWARF/AppName
2.在终端输入第二串命令:dwarfdump --arch=armv7 --lookup 0x97525 /Users/UserName/Library/Developer/Xcode/Archives/2015-08-30/AppName\ 8-20-13\ 6.20\ PM.xcarchive/dSYMs/AppName.app.dSYM/Contents/Resources/DWARF/AppName
要特别注意的就是黑色字体部分要输入正确的参数,要不然你就得不到错误打印详情了。
0x97525是以下方式查找的:打开报错的项目xcode prj,window-》organizer-》crashes,再选择你上线崩溃的包,查看crashes选项,如下图
其他黑色字体按要求填写,enter,你就会看到错误输入详情了,根据错误提示,去查找对应的函数,行数,改bug。done