1.在最新的iOS18.5系统和xcode16.4开发过程中,如果发生了本地崩溃,要怎么分析才能找到具体的崩溃代码?
经过了多方查找,以前的分析方法都用不了了,最新的方法,需要手动处理一些细节工作
2.目前我们能导出和得到的崩溃问题文件是xxx.ips文件是一个加密的不能看懂的崩溃文件
因为苹果在Xcode13.3已经废弃了.crash文件,而symbolicatecrash只能解析.crash,所以需要利用"AppleCrashScripts"将.ips转换为.crash。
首先利用工具先将xxx.ips文件解析成xxx.crash文件, https://github.com/tomieq/AppleCrashScripts
执行脚本ips文件转换为crash文件 swift convertFromJSON.swift -i input.ips -o input.crash
3.从mac电脑中找到xcode自带分析工具
1.使用命令找到symbolicatecrash
2.find /Applications/Xcode.app -name symbolicatecrash -type f
3.进入目录cd /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources
4.复制symbolicatecrash到此文件夹
4.找到xxx.app.dSYM
执行解析工程
执行符号化分析文件 ./symbolicatecrash /Users/xxxxx/Downloads/AppleCrashScripts-master/input.crash /Users/xxxx/Desktop/崩溃分析/input.dSYM > crash.log
5.分析crash.log文件
打开crash.log文件,可以通过Thread线程数,找到Crashed:的这个线程就看到了崩溃代码了