標籤:
在開發過程中,我們有時候會留下Bug,使用者在使用我們的app 的時候,有時會出現閃退,這時候我們能夠讓使用者給我們發送郵件,以讓我們開發人員更加高速的地位到Bug的所在。以最快的時間解決。同一時候也提高使用者體驗。
在AppDelegate.m檔案裡,加入例如以下代碼:
01 |
NSUncaughtExceptionHandler* _uncaughtExceptionHandler = nil; |
02 |
void UncaughtExceptionHandler(NSException *exception) { |
03 |
NSLog(@"CRASH: %@", exception); |
04 |
NSLog(@"Stack Trace: %@", [exception callStackSymbols]); |
07 |
NSArray *stackArray = [exception callStackSymbols]; |
09 |
NSString *reason = [exception reason]; |
11 |
NSString *name = [exception name]; |
13 |
NSString *syserror = [NSString stringWithFormat:@"mailto://[email protected]?subject=bug報告&body=感謝您的配合!<br><br><br>" |
14 |
"Error Detail:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@", |
15 |
name,reason,[stackArray componentsJoinedByString:@"<br>"]]; |
17 |
NSURL *url = [NSURL URLWithString:[syserror stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; |
18 |
[[UIApplication sharedApplication] openURL:url]; |
然後在 - ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中加入一下代碼:
2 |
_uncaughtExceptionHandler = NSGetUncaughtExceptionHandler(); |
5 |
NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler); |
ios捕獲異常並發送圖片,便於解決bug