2011-11-11 13 views
6

このクラッシュで私を助けることができる人は誰ですか?ロード中にいくつかのUIWebViewインスタンス間を行き来するときに断続的に発生します。「WebThread」のiOS UIWebViewクラッシュ

クラッシュは多少異なりますが、スタックトレースが似ている「WebThread」は常にクラッシュします。

は、ここでは、2つのクラッシュの関連する部分です:(。つまり、解放されません)あなたのUIWebViewDelegateデリゲートがまだ有効である

 
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 

答えて

7

あなたはiOs 5.0を持っていることがわかります。 Officeドキュメント(docx、xls)をロードしているファイルはありますか?

もしそうなら、あなたのケースは私と同じです。この問題は、5.0のシステム(ここではiPadとiPad 2)でのみ再生され、ファイルのロードが完了する前にUIWebViewオブジェクトを停止しようとすると発生します。電話をかけるかどうかstopLoadingまたはloadRequest

これはtxtファイルでは起こりません。

そして、それがない場合、それはラインから始まるWebThreadに由来する:

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

と同様にいくつかのランダムなポインタへのジャンプ:

#0 0x00000010 in 0x00000010() 
+1

これはまさに私が目にしていることです。さらに、それがOfficeドキュメントだけで起こっていることをより多くのテストから気付きました。このバグがまだAppleに提出されているかどうかは分かりますか? – Steve

+2

私はこれをAppleにバグとして報告しました。彼らは彼らが作業している既知の問題だと言いました。うまくいけば、iOS 5.1が公開されるときに修正されることを願っています。 – Steve

+0

アップルのバグ追跡システムであなたのバグのURLリンクは何ですか? – jianhua

2

チェックあなたのUIWebViewがバックグラウンドで動作している場合。この問題は、ロード完了後、バックグラウンドの

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

を使用して、代理人に電話をかけようとしているウェブビューが原因で発生している可能性があります。

+0

はい、私はこれが問題ではないことを確認するチェックしました。デリゲートをリリースする前に、私のデリゲートはいつも気をつけておくか、webView.delegateポインタをゼロにします。 – Steve

+0

いくつかのソースコードを提供できますか?何が起こっているのかを言うのは難しいです。 – Piotr

2

@ K1w1Geekの答えに展開するには、問題とすることができますデリゲートコールバックを送信しようとする直前にユーザーがWebビューを閉じており、存在しないためクラッシュすることがあります。これは、Salesforce Webサイトをナビゲートするだけでこのクラッシュが発生しているため、必ずしも特定のドキュメントタイプの読み込みに関連する必要はありません。

あなたは閉じるボタンを持っているのであれば、閉じる前に読み込みを停止し、nilにデリゲートを設定しよう:

- (IBAction)btnCloseWebviewTap:(id)sender{ 
    [_webView stopLoading]; 
    _webView.delegate = nil; 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
関連する問題