-4

我想在 Objective-C 中创建一个像 firebase 这样的崩溃报告器,但我不知道如何在我的服务器上上传符号文件。请帮助我象征性的崩溃报告。

我不知道如何为它编写代码。

4

1 回答 1

1

将此行添加到 didFinishLaunchingWithOptions

NSSetUncaughtExceptionHandler(&uncaughtExceptionHandlingMethod);

并添加此方法。这将从异常中获取堆栈跟踪并将其写入 txt 文件。

-(void) uncaughtExceptionHandler(NSException *exception){

NSLog(@"On uncaught Exception Handling method");
//NSString *content = [NSString stringWithFormat:@"%@",[exception callStackSymbols]];
//NSLog(@"Stack trace : %@",content);

// To write the stack trace into txt file.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"myowncrashreport.txt"];
NSString *content = [NSString stringWithFormat:@"%@",[exception callStackSymbols]];
[content writeToFile:logPath atomically:YES encoding:NSASCIIStringEncoding error:nil];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
}
于 2017-02-13T13:20:20.880 回答