1.桌面新建一个文件夹,自行命名(crash);app
2.找到Xcode的位置,右键"显示包内容",根据如下目录找到symbolicatecrash工具:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,并拷贝出来,放到刚才建立的(crash)文件夹中;工具
3.把苹果审核返回的崩溃日志下载,也放到刚才建立的crash文件夹中;ui
4.打开Xcode,选择Window-->Orgianzer找到对应的Archive文件,spa
点击右边的Download dSYMS,debug
若是提示 No dSYMs were found for Version xxx Build xxx ,3d
能够右键点击对应的Archive文件,show in finder,而后右键显示包内容,找到dSYMs文件夹下的对应dYSMs文件,拷贝到刚才的文件夹下;日志
若是文件夹为空,那么就要去检查Xcode设置,在Xcode --> Build Setting 搜索 "debug information format",将"DWARF"修改成"DWARF with dSYM File",以后从新打包就能够找到了;code
5.打开终端,进入刚才的文件夹(cd 你本身的刚才建立的文件夹路径)orm
1blog |
|
6.接着输入如下命令
1 |
|
注:crash.txt为苹果返回的崩溃日志的名字,MyAppName.app.dSYM为你本身拷出来的dSYM文件的名字,crash.log为你要输入的日志文件的名字
执行命令以前的crash文件夹内(上面三个txt格式的为苹果返回的崩溃日志文件)
执行命令以后(.crash文件为生成的日志文件)
7.若是提示"DEVELOPER_DIR" is not defined at xxxxxxxxxxxxxx,那么输入如下命令,若是没有则跳过
1 |
|
8.而后从新输入第6步的命令
1 |
|
9.打开日志文件进行分析
10.根据提示找到SportMainController中的onReGeocodeSearchDone方法
11.发现是在else中截取字符串时出现问题,有可能字符串长度为0,这样substringToIndex:-1就致使程序崩溃了,加一个判断条件,问题解决