PLCrashReporter - Как преобразовать .plcrash в .crash непосредственно из самого Xcode и сохранить его локально - PullRequest
8 голосов
/ 16 ноября 2011

В настоящее время я работаю с PLCrashReporter и мне нужна помощь с преобразованием plcrash напрямую в файл .crash вместо использования plcrashutil.

То, что я сейчас делаю, -

Я имитирую сбой, и он создает файл myapp.plcrash.

Как только это сгенерировано, я использую следующее в командной строке -

plcrashutil convert --format=iphone myapp.plcrash > app.crash

Это прекрасно работает - но есть ли способ, которым мне не нужно делать этот дополнительный шаг и конвертировать его в .crash непосредственно из моего кода, вероятно, путем импорта библиотеки или чего-то подобного ??

Любые решения ???

Ответы [ 2 ]

16 голосов
/ 16 ноября 2011

Получил ответ

Вот решение, если кто-то еще ищет его.

PLCrashReportTextFormat textFormat = PLCrashReportTextFormatiOS;


    /* Decode data */

    PLCrashReport *crashLog = [[PLCrashReport alloc] initWithData: data error: &error];
    if (crashLog == nil) {
        NSLog(@"Could not decode crash file :%@",  [[error localizedDescription] UTF8String]);
    } else {
        NSString* report = [PLCrashReportTextFormatter stringValueForCrashReport: crashLog withTextFormat: textFormat];
        NSLog(@"Crash log \n\n\n%@ \n\n\n", report);

        NSString *outputPath = [documentsDirectory stringByAppendingPathComponent: @"app.crash"];
        if (![report writeToFile:outputPath atomically:YES encoding:NSUTF8StringEncoding error:nil]) {
            NSLog(@"Failed to write crash report");
        } else {
            NSLog(@"Saved crash report to: %@", outputPath);
        }

    }
0 голосов
/ 25 июля 2012

Вы пытались символизировать файл .crash в новом формате?

...