Tôi đang sử dụng GTMStackTrace từ http://code.google.com/p/google-toolbox-for-mac.NSSetUncaughtExceptionHandler không phát hiện tất cả lỗi trên iPhone
Tôi cần một cách để kiểm tra người dùng cuối gửi lỗi cho tôi khi ứng dụng gặp sự cố. Tôi biết cách gửi dữ liệu đến trang web của mình nhưng vấn đề là cách bắt tất cả các lỗi không được xử lý.
tôi có mã này:
void exceptionHandler(NSException *exception) {
NSLog(@"%@", [exception reason]);
NSLog(@"%@", [exception userInfo]);
NSLog(@"%@", GTMStackTraceFromException(exception));
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:NSLocalizedString(@"Error unexpected",@"Info: Can't save record")
message:GTMStackTraceFromException(exception) delegate:nil
cancelButtonTitle:NSLocalizedString(@"Ok",@"Button: Ok") otherButtonTitles:nil];
[alert show];
[alert release];
}
int main(int argc, char *argv[]) {
//For crash report..
NSSetUncaughtExceptionHandler(&exceptionHandler);
//Normal code...
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Tuy nhiên, điều không bắt rất nhiều lỗi, như một thông cáo xấu, một BAD ACCESS, vv, và App biến mất. Tôi có 2 vấn đề mà không rõ tại sao lại vui vẻ và người dùng cuối không biết phải nói gì.
(Ví dụ phát hành gấp đôi var cùng không bắt)
Vì vậy, làm thế nào tôi nhận được tất cả những gì lỗi pesky để người dùng cuối đơn giản gửi cho tôi báo cáo sự cố?
Ngoài ra, là có thể để có được những vết đống đầy đủ với dòng lỗi? – mamcx
Bạn có thực sự có khả năng hiển thị UIAlertView đó không? Tôi không thể. Lời khuyên nào? – Mark