苹果审核被拒后,返回崩溃日志的分析处理

参考文章:http://www.qingpingshan.com/rjbc/ios/230949.html

1.桌面新建一个文件夹,自行命名(crash);

2.找到Xcode的位置,右键"显示包内容",根据以下目录找到symbolicatecrash工具:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,并拷贝出来,放到刚才创建的(crash)文件夹中;

image

3.把苹果审核返回的崩溃日志下载,也放到刚才创建的crash文件夹中;

4.打开Xcode,选择Window-->Orgianzer找到对应的Archive文件,

点击右边的Download dSYMS,

如果提示 No dSYMs were found for Version xxx Build xxx ,

可以右键点击对应的Archive文件,show in finder,然后右键显示包内容,找到dSYMs文件夹下的对应dYSMs文件,拷贝到刚才的文件夹下;

image

如果文件夹为空,那么就要去检查Xcode设置,在Xcode --> Build Setting 搜索 "debug information format",将"DWARF"修改为"DWARF with dSYM File",之后重新打包就可以找到了;

image

5.打开终端,进入刚才的文件夹(cd 你自己的刚才创建的文件夹路径)

cd /Users/xxx/desktop/crash 

6.接着输入以下命令

./symbolicatecrash ./attachment-SmartStore-2018-02-28.crash ./SmartStore.app.dSYM > crash.log

注:attachment-SmartStore-2018-02-28.crash为苹果返回的崩溃日志的名字,SmartStore.app.dSYM为你自己拷出来的dSYM文件的名字,crash.log为你要输入的日志文件的名字

执行命令之前的crash文件夹内

执行命令之后(crash.log文件为生成的日志文件)

7.如果提示"DEVELOPER_DIR" is not defined at xxxxxxxxxxxxxx,那么输入以下命令,如果没有则跳过

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

8.然后重新输入第6步的命令

./symbolicatecrash ./attachment-SmartStore-2018-02-28.crash ./SmartStore.app.dSYM > crash.log

9.打开日志文件进行分析

image

10.根据提示找到SportMainController中的onReGeocodeSearchDone方法

image

11.发现是在else中截取字符串时出现问题,有可能字符串长度为0,这样substringToIndex:-1就导致程序崩溃了,加一个判断条件,问题解决

image

你可能感兴趣的:(苹果审核被拒后,返回崩溃日志的分析处理)