1,首先在delegate文件里面- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions函数里面添加:
- NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
2,实现捕捉到异常时调用的函数(在@implementation之上):
- void UncaughtExceptionHandler(NSException *exception) {
- NSArray *arr = [exception callStackSymbols];
- NSString *reason = [exception reason];
- NSString *name = [exception name];
- NSString *urlStr = [NSString stringWithFormat:@"mailto://fengsh998@163.com?subject=bug报告&body=xxx项目报告!<br><br><br>"
- "错误详情:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",
- name,reason,[arr componentsJoinedByString:@"<br>"]];
- NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
- [[UIApplication sharedApplication] openURL:url];
- NSLog(@"%@",url);
- }