怎样解析苹果打回的崩溃报告

最近初版项目上线的时候,审核被拒,苹果给打回了崩溃报告(见下图0-1)。

图0-1

瞬间炸毛了!!!公司催着上线,所以赶紧看看是什么原因导致我的项目崩溃无法通过审核。。。

打开崩溃日志,是这样的,如下图(图0-2)

图0-2

都是一串串内存地址,根本定位不到闪退原因。苹果打回来的崩溃日志但是问题还是要解决的,所以接下来就要手动解析崩溃日志。参考网上的方法,试了几次都没成功解析出来,后来灵感乍现,成功了。不要问我为什么,因为我也不知道。下面贴出来我的详细步骤。

==================操作核心=======================

步骤一、找到.app.dSYM文件

1.在桌面上新建一个文件夹,可以随便命名,我这里命名为crash文件夹,如图1-1.


图1-1

2.在xcode中找到你上传的ipa包,点击右下角的Download dSYMs...,如图2-1

图2-1

点击后可能会出现下图2-2的情形,别害怕,我有办法。

图2-2

继续跟我走:重新选中ipa包,右击选择show in Finder,如图2-3


图2-3

然后再选择显示包内容,如图2-4

图2-4

找到这个.dsym文件,如图2-5。

图2-5

然后把这个文件拷贝到步骤1创建好的crash文件夹内。

步骤二: 找到symbolicatecrash工具

1.右击访达,选择前往文件夹,如图3-1


图3-1

输入:/应用程序/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash      点击前往,如图3-2

图3-2

找到symbolicatecrash这个文件,如图3-3。然后拷贝到crash文件夹下。


图3-3

步骤三:这个步骤很简单

1.找到苹果给打回的.txt崩溃报告。这里啰嗦一下:我的.txt崩溃报告只能在网页上浏览,不能直接下载成.txt文件,所以通过文本编辑工具先新建个crashLog.rtf的文件,把崩溃日志的内容全部拷贝进去,然后保存。再强转该文件的后缀名为crashLog.txt格式。

2.把这个crashLog.txt形式的崩溃报告文件也拷贝到crash文件夹中。如图3-4,三个文件都准备就绪了

图3-4


步骤四:最关键的一波操作

1.打开终端,输入 :cd  + crash文件夹的路径(输入完cd后,敲下空格,然后把crash文件直接拖动到终端里,就会自动找到crash文件夹的路径),如图4-1。然后回车

图4-1

2.继续输入一下命令:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash crashLog.txt HuaBen.app.dSYM > outputFileName.txt  然后回车

其中crashLog.txt  、HuaBen.app.dSYM这两个文件使我们之前准备好的,请对号入座,不要写错名字了。outputFileName.txt这个文件是我们随意起的一个文件的名字,这个文件生成后,所有的闪退bug就会在这个文件中编译出来。

有时候当你输完上面那行命令,会出现图4-2的情形

图4-2

3.这时候继续输入命令:

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"  然后回车。

4.再次输入步骤2的命令即可:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash crashLog.txt HuaBen.app.dSYM > outputFileName.txt  然后回车.

5.稍微耐心等一下,崩溃报告编译工作就开始进行了,等完成后打开生成的编译文件,如图4-3


图4-3

找到核心区域看一下,就找到了闪退的bug所在,如图4-4

图4-4

我这里是由于首页在viewWillAppear:方法里的loadData方法里穿的参数找不到导致无法进入首页就崩溃了。接下来就是去修改自己的代码了。

================结束语===========================

好啦,帖子写到这里,就完成了。最后希望所有的开发人员项目都永无bug,如果运气不好也碰到了跟我一样的问题,希望这个帖子能帮到你

因为年轻,所以没有选择,只能试试~

你可能感兴趣的:(怎样解析苹果打回的崩溃报告)