2011-11-16 12 views
8

Attualmente sto lavorando con PLCrashReporter e ho bisogno di aiuto per convertire il plcrash direttamente nel file .crash invece di usare il plcrashutil.PLCrashReporter - Come convertire .plcrash in .crash direttamente da Xcode stesso e salvarlo localmente

Quello che faccio è attualmente -

ho simulare un incidente e viene creato un file myapp.plcrash.

Una volta che viene generato io uso il seguente sulla riga di comando -

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

Questo funziona perfettamente - ma c'è un modo per non dovete fare questo passo in più e convertirlo in .crash direttamente dal mio codice probabilmente importando la libreria o qualcosa del genere ??

Qualche soluzione ???

risposta

16

avuto la risposta

Ecco la soluzione se qualcun altro è alla ricerca di esso ..

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

come si decodificano i dati? Semplice esadecimale in binario? –

+1

dove simbolizzi i dati? –

+0

ci è voluto un po 'per provarlo, e sì, questo nuovo formato può essere simboleggiato usando symbolicatecrash, anche se sembra diverso dal file di crash generato da plcrashutils. E per il mio caso, ho appena inviato il rapporto sulla rete (non è necessario pubblicare dati binari). –

0

Hai provato a symbolicate il file .crash nel nuovo formato?