Objective-C/iPhone - NSException捕获尽可能多的信息

fuz*_*uzz 9 iphone exception objective-c nsexception

我正在使用以下代码捕获我的应用程序中的异常:

void uncaughtExceptionHandler(NSException *exception) {
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}
Run Code Online (Sandbox Code Playgroud)

只是想知道我是否可以UIView发现错误发生的针脚,行号,类等.理想情况下,我希望获得尽可能多的详细信息,因为它是由FlurryAPI分析捕获的.

FlurryAPI:http://www.flurry.com/

fuz*_*uzz 16

我结束了这个:

void uncaughtExceptionHandler(NSException *exception) {
    NSArray *backtrace = [exception callStackSymbols];
    NSString *platform = [[UIDevice currentDevice] platform];
    NSString *version = [[UIDevice currentDevice] systemVersion];
    NSString *message = [NSString stringWithFormat:@"Device: %@. OS: %@. Backtrace:\n%@",
                         platform,
                         version,
                         backtrace];

    [FlurryAPI logError:@"Uncaught" message:message exception:exception];
}
Run Code Online (Sandbox Code Playgroud)

更新(根据@ TommyG的评论):

添加NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);到您的 - -(BOOL)application:didFinishLaunchingWithOptions:方法的末尾AppDelegate.然后将上述方法添加到其中AppDelegate.