这两天提交审核给拒绝了,苹果返回了几个奔溃日志,里面有给出一些基本的错误信息,但都是一些地址信息。我们需要把这些地址信息转换成我们需要的代码错误信息。这时候就需要用到symbolicatecrash了。
首先在终端中输入 find /Applications/Xcode.app -name symbolicatecrash -type f命令,来查找symbolicatecrash所在的目录。我这边是在桌面上创建了一个crash文件夹,来存放这一些错误信息。把symbolicatecrash拷贝到crash文件中。
然后获取DSYM文件,这个需要到xcode中Window->Organizer找到之前你上传的版本 Show in Finder 可以看到这么一个文件
,然后显示包内容会有3个文件我们需要的dSYM就在dSYMs中,把它拷到crash文件夹中。其中app文件存在Products中。
接下来把苹果给的奔溃日志下载到crash文件夹中,最后crash文件是这样的
其中的symbol.crash是我手动创建的crash文件,用来存放解析成功后的日志信息。
文件都准备好后,就可以进行解析的操作了。
在终端输入下面命令
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
其中第二个命令的格式是symbolicatecrash xxx.crash xxx.dSYM >xxxxx.crash
symbolicatecrash:crash中的symbolicatecrash
xxx.crash:错误的日志,可以为crash或txt都可以
xxx.dSYM :提交的app中的dsym文件
xxxxx.crash:保存解析后的日志文件
我这边贴出苹果给的和解析后的错误信息
上一个是苹果给的日志,后一个是解析后的日志。可以看到我的错误是在DDLoginViewController的InitView方法中
备注:我提交了2次,第一次因为在dSYMs文件夹中没有dSYM文件,无法进行解析,这是因为我之前Scheme中Analyze没有设置Release,设置成就可以了。当然还有可能是Release没有设置成DWARF with dSYM File