iOS--上线被拒如何从苹果返回的崩溃日志iOS.crash文件处理找崩点(看这篇就懂了)

版权声明:本文为博主原创文章,未经博主允许不得转载,如有疑问,可加qq:775842767 https://blog.csdn.net/Fydevelop/article/details/78716815

2017年底了,现在苹果上线的越来越严,导致被拒的次数也是越来越特多。我们从苹果给的提示可以看出我们大概崩溃的位置,但是作为程序员的我们,找到具体崩溃的点才能更好的修复。
AppStore审核没有通过,给了3个crashLog.txt文件,可是打开后都是十六进制的东东(根本不知道什么东西),我们可以使用Xcode自带的 symbolicatecrash 解析它,最后会生成crashLogEnd.crash文件,这个文件里就是我们要用的了。直接上步骤。
1.在桌面创建一个crash文件夹
2.打开终端输入指令:find /Applications/Xcode.app -name symbolicatecrash -type f
3将地址
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash通过前往文件夹,找到symbolicatecrash,拷贝。
4.将symbolicatecrash拷贝到桌面的crash文件夹里
5.Xcode>Window>Organize在Archives找到上传的App-右击-Show in Finder 右击后显示包内容 复制ProjectName.app和ProjectName.app.dSYM到crash文件夹里
6.校验ProjectName.app、ProjectName.app.dSYM、crashLog.txt 的UUID是否一致
dwarfdump –uuid ProjectName.app/ProjectName
dwarfdump –uuid ProjectName.app.dSYM
崩溃日志的UUID 在 Binary Images: 下第一行 ProjectName arm64 后
7.终端输入
./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash
出现 Error: “DEVELOPER_DIR” is not defined at ./symbolicatecrash line 69. 输入 export DEVELOPER_DIR=”/Applications/XCode.app/Contents/Developer”
后再次输入
./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash
最后可以根据crashLogEnd.crash详细崩溃信息对程序进行修复

补充:
Exception Type: 异常类型

Exception Codes: 异常出错的代码(常见代码有以下几种)

0x8badf00d错误码:Watchdog超时, 看门狗定时器超时导致 Ate Bad Food
0xbaaaaaad错误码:用户按住Home键和音量键,获取当前内存状态,不代表崩溃。

0xbad22222错误码:VoIP应用被干掉。

0xc00010ff错误码:太热, “cool off”。

0xdead10cc错误码:在后台时仍然占据系统资源(通讯录)被干掉,意为“dead lock”。
0xdeadfa11错误码:用户强制退出,意为“dead fall”。
Triggered by Thread: 在某一个线程出了问题导致crash,Thread 0 为主线程、其它的都为子线程

Last Exception Backtrace: 最后异常回溯

注意事项: 解析的时候,需要用终端进行一系列操作,所以,有些地方有空格需要格外的注意,否则会出现找不到文件夹的错误,我自己就出现了很多次失误,失误之后耐心再执行即可。祝大家早日上线。

猜你喜欢

转载自blog.csdn.net/Fydevelop/article/details/78716815
今日推荐