利用 NSSetUncaughtExceptionHandler,当程序异常退出的时候,就给指定的邮箱发送邮件,邮件内容包括发生异常时候的详情。代码如下:
void UncaughtExceptionHandler
(
NSException
*exception
)
{
NSArray *arr = [exception callStackSymbols ];
NSString *reason = [exception reason ];
NSString *name = [exception name ];
NSString *urlStr = [ NSString stringWithFormat : @ "mailto://suifeng_89@163.com?subject=bug报告&body=感谢您的配合!<br><br><br>"
"错误详情:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",
name,reason, [arr componentsJoinedByString : @ "<br>" ] ];
NSURL *url = [ NSURL URLWithString : [urlStr stringByAddingPercentEscapesUsingEncoding :NSUTF8StringEncoding ] ];
[ [UIApplication sharedApplication ] openURL :url ];
}
NSArray *arr = [exception callStackSymbols ];
NSString *reason = [exception reason ];
NSString *name = [exception name ];
NSString *urlStr = [ NSString stringWithFormat : @ "mailto://suifeng_89@163.com?subject=bug报告&body=感谢您的配合!<br><br><br>"
"错误详情:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",
name,reason, [arr componentsJoinedByString : @ "<br>" ] ];
NSURL *url = [ NSURL URLWithString : [urlStr stringByAddingPercentEscapesUsingEncoding :NSUTF8StringEncoding ] ];
[ [UIApplication sharedApplication ] openURL :url ];
}
然后在delegate文件里面
-
(
BOOL
)application
:
(UIApplication
*
)application didFinishLaunchingWithOptions
:
(
NSDictionary
*
)launchOptions
|
函数里面添加
1 |
NSSetUncaughtExceptionHandler
(
&UncaughtExceptionHandler
);
|