若一个App没有加入Crashlytics或者Buggly这些崩溃日志监控,那么咱们在App崩溃的时候如何获取崩溃信息呢?app
此时咱们能够经过symbolicatecrash工具对手机日志来进行分析定位,须要如下一些步骤:工具
在手机 设置->隐私->分析->数据分析 中找到对应App(文件名为App设置的product name),打开文件,右上角能够分享导出文件,分享出来的文件改一下后缀为.crash日志
使用iTools的工具箱里面的崩溃日志导出对应的.ips文件,改后缀为.crashcode
设备链接Xcode,选择“Window->Devices and Simulators”,选择左侧设备,点击中间的“View Device Logs”,同理,选择对应App(文件名为App设置的product name),右键“Export Log”便可,此处导出的文件为.crash文件。ip
Xcode在archives时候,都会生成一个对应的dSYM文件,咱们直接去获取app对应的dSYM文件就好;打开App工程,点击“Window->Organizer”,里面有你此工程archives过的记录,找到对应的,右键“show in finder”,对应文件右键"显示包内容",在dSYM文件夹下的.app.dSYM就是咱们要获取的dSYM文件了。数据分析
若是App已经上架,并在上架的时候选择提交过dSYM,那么还能够从App Store Connect获取,登陆选择App,进入“活动”页签,“全部构建版本”,选择对应版本,点击app版本号,会出现包的详细信息,右下角有“包含符号”,如有提交的话,此处能够下载dSYM文件io
symbolicatecrash工具是Xcode自带的工具,咱们在中断输入: find /Applications/Xcode.app -name symbolicatecrash便可找到工具登录
将crash文件、dSYM文件以及symbolicatecrash工具拷贝到同一个目录,cd进入此目录,而后输入命令:监控
./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash日志分析
ps:运行上面的命令后可能会报错:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”,若是出现错误,再输入:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
接着再输入一次 ./symbolicatecrash (你导出的崩溃日志).crash (导出的dSYM文件).app.dSYM > (解析后的crash文件).crash 这个命令就能够了。