我刚刚从iTunes Connect下载了我的一个iPhone应用程序的崩溃报告。最常见的碰撞有类似下面的跟踪:UIWebView中的EXC_BAD_ACCESS
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xa1b1c1db
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x3030e6f4 objc_msgSend + 16
1 UIKit 0x30ebebee -[UIWebView webView:resource:didFinishLoadingFromDataSource:]
2 UIKit 0x30ebe5ca -[UIWebViewWebViewDelegate webView:resource:didFinishLoadingFromDataSource:]
3 CoreFoundation 0x32b73b5c __invoking___ + 60
4 CoreFoundation 0x32bc67be -[NSInvocation invoke]
5 WebCore 0x320baa86 HandleDelegateSource
6 CoreFoundation 0x32bb8a96 CFRunLoopRunSpecific
7 CoreFoundation 0x32bb8356 CFRunLoopRunInMode
8 GraphicsServices 0x30544cd4 GSEventRunModal
9 GraphicsServices 0x30544d80 GSEventRun
10 UIKit 0x30d2c768 -[UIApplication _run]
11 UIKit 0x30d2b46c UIApplicationMain
我80%肯定这是内部的UIWebView外的什么,我可以解决范围的问题。有没有人有任何关于如何缩小这个问题的建议,以帮助确定是否是操作系统和UIWebView的问题,或者我可以在我的代码中解决和解决的问题?提前致谢。
更新:有问题的UIWebView是在用户点击相应导航控制器的后退按钮时被释放的视图。接受的解决方案似乎为发生此错误提供了一个很好的解释。
建议的解决方案之前:
- (void)dealloc {
[webView release];
[super dealloc];
}
建议的解决方案后:
- (void)dealloc {
webView.delegate = nil;
[webView stopLoading];
[webView release];
[super dealloc];
}
我会把钱放在一个释放的代表是这个原因。 – 2009-10-05 21:10:54
veyr有用,谢谢。 – 2010-06-14 08:11:42
这正是我发生的事情,出色的分析。 – 2015-08-18 17:00:57