我们的应用通常充斥着崩溃,为了方便寻找导致崩溃的原因,苹果为我们提供了崩溃报告,每个安装了应用的手机,在崩溃时都会产生一个报告,我们可以利用合格报告推断出导致崩溃的原因。
我们可以用Xcode通过以下方式获取崩溃报告:
1、手机的所有崩溃日志:Xcode->Window->Devices and Simulators->View Device Logs
2、针对发布App Store的应用:Xcode->Window->Organizer->Crash,需要用户同意发送错误报告给苹果开发者才可以看到这些Crash报告,而对于TestFlight则默认支持这个。
3、App自己收集的crash
一、在桌面创建一个crash文件夹
我们打了release包后,会生成一个二进制文件,调试符号会存储在dsym文件中,我们要做的就是将dsym文件下载下来。有以下几个方式获取dsym文件。
1.Xcoe-Window-Organize找到Archives找到App-右击-Show in Finder
2.复制.app和.app.dSYM到crash夹文件:右击..xcarchive文件-显示包内容
二、首先找到symbolicatecrash工具存放的地址1.打开终端输入以下命令:find /Applications/Xcode.app -name symbolicatecrash -type f你会找到:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash
2.用命令将symbolicatecrash拷贝到桌面的crash文件夹里面,与.app和.app.dSYM放一起cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/angel/Desktop/crash
3.将Crash文件也拷到当前文件夹里面
三、执行symbolicatecrash1.打开终端用命令切换到桌面的crash目录下:cd /Users/你的电脑名称/Desktop/crash
2.执行命令./symbolicatecrash /Users/angelseahappiness/Desktop/crash/Control_2014-01-13-111838_Lynns-iPad3.crash /Users/angel/Desktop/crash/Control.app.dSYM > Control_symbol.crash这时候终端有可能会出现:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.3.输入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
4.再执行./symbolicatecrash /Users/angelseahappiness/Desktop/crash/Control_2014-01-13-111838_Lynns-iPad3.crash /Users/angel/Desktop/crash/Control.app.dSYM > Control_symbol.crash这时候终端将会进行处理了
5.将终端完成以后,在crash文件夹里面会多出一个文件Control_symbol.crash:这个就是最终的文件,可以查看bug所在的