0、想通过PLCrashReporter自己收集crash上报;
1、环境:xcode7.3, PLCrashReporter 1.2, iOS9.3
2、问题:代码中集成了PLCrashReporter
NSDate * now = [NSDate date];
NSData *crashData;
NSError *error;
// try loading the crash report
crashData = [crashReporter loadPendingCrashReportDataAndReturnError: &error];
if(crashData == nil)
{
NSLog(@"Could not load crash report: %@", error);
break;
}
生成的.plcrash文件会发送到服务器上。
然后通过命令:
./plcrashutil convert --format=iphone test.plcrash > test.crash
test.crash的前几行内容如下:
Incident Identifier: 70AD173C-1EA2-4B37-8689-5C094FB563A1
CrashReporter Key: TODO
Hardware Model: iPhone6,2
Process: vrcinema [8195]
Path: /var/containers/Bundle/Application/C4D60FC7-B44D-4D36-B5DB-3BCE95F86182/vrcinema.app/vrcinema
但是 test.crash用symbolicatecrash分析不出来: ./symbolicatecrash test.crash xxx.app.dSYM
3、疑问:
网上说是test.crash也有自己的UUID,和dSYM的UUID一样(dwarfdump --uuid xxx.app.dSYM)?
但查看test.crash的头几行,只有Incident Identifier,没有UUID。
Incident Identifier对于每个崩溃文件都在变化。
这是怎么原因呢?Xcode版本太高?
走同样的路,发现不同的人生