UIWebView随机崩溃在[UIViewAnimationState release]:消息发送到解除分配的实例 [英] UIWebView random crash at [UIViewAnimationState release]: message sent to deallocated instance
问题描述
我使用 iOS8.1 和 UIWebView
随机 UIWebView
崩溃,使用 iPhone5 。在我的测试中,崩溃没有出现在 iOS7 上。
I'm having a random UIWebView
crash using iOS8.1 and UIWebView
, using an iPhone5. In my tests the crash doesn't appear on iOS7.
我创建了这个github存储库来重现崩溃:
https://github.com/crarau/WebViewCrash
I've created this github repository to reproduce the crash: https://github.com/crarau/WebViewCrash
基本上我添加 UIWebView
并加载www.amazon.com
Basically I'm adding a UIWebView
and loading www.amazon.com
随机应用程序崩溃 WebThread
EXC_ARM_BREAKPOINT
启用僵尸追踪在控制台上有这样的消息:
After enabling Zombie tracking on the console there is this message:
[UIViewAnimationState release]: message sent to deallocated instance 0x14deff70
这里发生的事情 UIView
load:
Here what happens on UIView
load:
[super viewDidLoad];
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.amazon.com"]];
self.webView.layer.cornerRadius = 0;
self.webView.userInteractionEnabled = YES;
self.webView.multipleTouchEnabled = YES;
self.webView.backgroundColor = [UIColor clearColor];
self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
[self.webView loadRequest:urlRequest];
异常堆栈跟踪:
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Triggered by Thread: 2
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x2fe054f0 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x2fe052e4 mach_msg + 36
2 CoreFoundation 0x21fed936 __CFRunLoopServiceMachPort + 142
3 CoreFoundation 0x21febedc __CFRunLoopRun + 1012
4 CoreFoundation 0x21f3a20c CFRunLoopRunSpecific + 472
5 CoreFoundation 0x21f3a01e CFRunLoopRunInMode + 102
6 GraphicsServices 0x293330a4 GSEventRunModal + 132
7 UIKit 0x255461cc UIApplicationMain + 1436
8 WebViewCrash 0x0002deec main (main.m:14)
9 libdyld.dylib 0x2fd52aac start + 0
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x2fe052a0 kevent64 + 24
1 libdispatch.dylib 0x00162674 0x154000 + 58996
2 libdispatch.dylib 0x00157496 0x154000 + 13462
Thread 2 name: WebThread
Thread 2 Crashed:
0 CoreFoundation 0x2202aea2 ___forwarding___ + 534
1 CoreFoundation 0x21f5cdf4 _CF_forwarding_prep_0 + 20
2 CoreFoundation 0x21f2ee58 CFRelease + 596
3 QuartzCore 0x24f0ba60 CA::release_objects(X::List<void const*>*) + 12
4 QuartzCore 0x24f10dc2 -[CAAnimation dealloc] + 50
5 libobjc.A.dylib 0x2f7ecd5a objc_object::sidetable_release(bool) + 162
6 libobjc.A.dylib 0x2f7ed1a4 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 400
7 CoreFoundation 0x21fee2a4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12
8 CoreFoundation 0x21fede1e __CFRunLoopDoTimer + 646
9 CoreFoundation 0x21fec06e __CFRunLoopRun + 1414
10 CoreFoundation 0x21f3a20c CFRunLoopRunSpecific + 472
11 CoreFoundation 0x21f3a01e CFRunLoopRunInMode + 102
12 WebCore 0x2d362ebe RunWebThread(void*) + 414
13 libsystem_pthread.dylib 0x2fe95e90 _pthread_body + 136
14 libsystem_pthread.dylib 0x2fe95e02 _pthread_start + 114
15 libsystem_pthread.dylib 0x2fe93b8c thread_start + 4
任何建议都表示赞赏
谢谢
Any advice is appreciated Thanks
推荐答案
我是exp在iOS 8上遇到同样的问题,更具体地说,iPad 3比其他人更容易失败。
I'm experiencing the same issue on iOS 8 and more specifically an iPad 3 fails much more often than others.
根据您的帖子以及其他几个我能找到的帖子,似乎这只是iOS8上的 UIWebView
的问题,因为它适用于iOS7。
Based on your post and a couple of others that I was able to find, it seems that it's an issue with UIWebView
on iOS8 only, as it works on iOS7.
我是什么已完成的是在iOS8上使用新的 WKWebView
,这不会出现同样的问题,同时继续使用 UIWebView
在iOS7上。
What I've done is to use the new WKWebView
on iOS8, which doesn't present the same issue, while continuing to use UIWebView
on iOS7.
最好的办法是用Apple提交雷达并切换到 WKWebView
in与此同时。
The best thing to do would be to file a radar with Apple and switch to WKWebView
in the meantime.
这篇关于UIWebView随机崩溃在[UIViewAnimationState release]:消息发送到解除分配的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!