我刚刚收到通知,我的一个用户因调用 [UIAlertView dismissWithClickedButtonIndex:animated:] 导致崩溃。
现在只有一个用户在 6 个月的生产使用中遇到过这种崩溃,所以它必须是非常罕见的情况。
问题是,无论多么罕见,我都不乐意留下任何未解决的问题。
知道我的整个应用程序中只有一个 UIAlertView,因此很容易找到可能有嫌疑的代码。但是看着它,我对它为什么会导致崩溃感到半困惑。我没有设置代表,我只使用标准的取消按钮。该应用程序正在使用 ARC,因此它应该自动释放,因为我没有抓取指针。
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Notice"
message:@"This App Requires Location Services and Region Monitoring to Be Enabled"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
我的崩溃报告是在指责错误的代码块,还是我忽略了什么?
崩溃日志:
Exception Type: EXC_BAD_ACCESS Code: KERN_INVALID_ADDRESS at 0xb1e2c0eb
0com.apple.main-thread Crashed
Latest crash : 5/03/2013 at 11:10:19 UTC-0700
0 libobjc.A.dylib objc_msgSend + 15
1 UIKit -[UIAlertView dismissWithClickedButtonIndex:animated:] + 256
2 UIKit -[UIApplication sendAction:to:from:forEvent:] + 72
3 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
4 UIKit -[UIControl sendAction:to:forEvent:] + 44
5 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
6 UIKit -[UIControl touchesEnded:withEvent:] + 488
7 UIKit -[UIWindow _sendTouchesForEvent:] + 524
8 UIKit -[UIApplication sendEvent:] + 380
9 UIKit _UIApplicationHandleEvent + 6154
10 GraphicsServices _PurpleEventCallback + 590
11 GraphicsServices PurpleEventCallback + 34
12 ... CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34