2011-11-11 69 views
6

Bất kỳ ai cũng có thể giúp tôi giải quyết sự cố này? Nó xảy ra liên tục khi chuyển đổi qua lại giữa một số trường hợp UIWebView trong khi chúng đang tải.Sự cố UIWebView trên iOS trong "WebThread"

Sự cố thường hơi khác, nhưng nó luôn là sự cố của "WebThread" với một dấu vết ngăn xếp tương tự.

Dưới đây là những phần liên quan của hai tai nạn: (. Tức là không được công bố)

 
Date/Time:  2011-11-08 14:29:01.165 -0500 
OS Version:  iPhone OS 5.0 (9A334) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x00000006 
Crashed Thread: 4 

Thread 4 name: WebThread 
Thread 4 Crashed: 
0 ???        0x00000006 0 + 6 
1 WebCore       0x32a36154 -[QuickLookHandleAsDelegate connection:didReceiveData:lengthReceived:] + 72 
2 QuickLook      0x30bee2c2 -[QLThreadInvoker connectionDidReceiveDataLengthReceived:] + 90 
3 CoreFoundation     0x3537a226 -[NSObject performSelector:withObject:] + 38 
4 Foundation      0x32ce2752 __NSThreadPerformPerform + 346 
5 CoreFoundation     0x353efafe __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 10 
6 CoreFoundation     0x353ef2ca __CFRunLoopDoSources0 + 210 
7 CoreFoundation     0x353ee070 __CFRunLoopRun + 648 
8 CoreFoundation     0x353714d8 CFRunLoopRunSpecific + 296 
9 CoreFoundation     0x353713a0 CFRunLoopRunInMode + 100 
10 WebCore       0x324c912a _ZL12RunWebThreadPv + 398 
11 libsystem_c.dylib    0x35ba1c18 _pthread_start + 316 
12 libsystem_c.dylib    0x35ba1ad4 thread_start + 4 
 
Date/Time:  2011-11-08 15:09:01.410 -0500 
OS Version:  iPhone OS 5.0 (9A334) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x00000034 
Crashed Thread: 4 

Thread 4 name: WebThread 
Thread 4 Crashed: 
0 ???        0x00000034 0 + 52 
1 CoreFoundation     0x3537a226 -[NSObject performSelector:withObject:] + 38 
2 Foundation      0x32ce2752 __NSThreadPerformPerform + 346 
3 CoreFoundation     0x353efafe __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 10 
4 CoreFoundation     0x353ef2ca __CFRunLoopDoSources0 + 210 
5 CoreFoundation     0x353ee070 __CFRunLoopRun + 648 
6 CoreFoundation     0x353714d8 CFRunLoopRunSpecific + 296 
7 CoreFoundation     0x353713a0 CFRunLoopRunInMode + 100 
8 WebCore       0x324c912a _ZL12RunWebThreadPv + 398 
9 libsystem_c.dylib    0x35ba1c18 _pthread_start + 316 
10 libsystem_c.dylib    0x35ba1ad4 thread_start + 4 

Trả lời

7

Tôi thấy rằng bạn có iOs 5.0. Các tệp bạn đang tải tài liệu Office (docx, xls)?

Nếu có, thì trường hợp của bạn cũng giống như của tôi. Quay lại đầu trang Cho dù đó là bằng cách gọi stopLoading hoặc loadRequest

Điều này không xảy ra với tệp txt.

Và nếu có, nó bắt nguồn từ WebThread bắt đầu từ dòng:

#1 0x34912158 in -[QuickLookHandleAsDelegate connection:didReceiveData:lengthReceived:]() 

và nhảy đến một số gợi ý ngẫu nhiên như:

#0 0x00000010 in 0x00000010() 
+1

Đúng, đó là chính xác những gì tôi nhìn thấy, và tôi cũng nhận thấy từ nhiều thử nghiệm hơn rằng nó đang xảy ra chỉ với các tài liệu Office. Bạn có biết liệu lỗi này đã được gửi tới Apple chưa? – Steve

+2

Tôi báo cáo đây là lỗi của Apple và họ cho biết đó là một vấn đề đã biết mà họ đang làm việc. Hy vọng rằng nó sẽ được sửa khi iOS 5.1 hoạt động. – Steve

+0

Liên kết url lỗi của bạn trong hệ thống theo dõi lỗi của Apple là gì? – jianhua

2

Kiểm tra xem đại biểu UIWebViewDelegate của bạn vẫn còn hiệu lực nếu UIWebView của bạn là ở chế độ nền. Sự cố này có thể do webview cố gắng gọi cho đại biểu của bạn với

- (void)webViewDidFinishLoad:(UIWebView *)webView; 

trong nền sau khi tải xong.

+0

Có, tôi đã kiểm tra để chắc chắn rằng đây không phải là vấn đề. Đại biểu của tôi hoặc là luôn luôn dính xung quanh hoặc tôi không ra con trỏ webView.delegate trước khi tôi phát hành các đại biểu. – Steve

+0

bạn có thể cung cấp một số mã nguồn không? Thật khó để nói những gì đang xảy ra. – Piotr

2

Để mở rộng về câu trả lời @ K1w1Geek, những vấn đề có thể rằng người dùng đang đóng chế độ xem web ngay trước khi nó cố gắng gửi cuộc gọi lại của người được ủy quyền và nó bị lỗi vì nó không tồn tại. Điều này không nhất thiết phải liên quan đến việc tải một loại tài liệu cụ thể bởi vì tôi gặp sự cố này chỉ cần điều hướng một trang web Salesforce.

Vì vậy, nếu bạn có một nút đóng, cố gắng ngăn chặn tải và thiết lập các đại biểu để nil trước khi đóng cửa:

- (IBAction)btnCloseWebviewTap:(id)sender{ 
    [_webView stopLoading]; 
    _webView.delegate = nil; 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
Các vấn đề liên quan