0

UIWebView で発生する一定の再現可能なクラッシュに気付きました: ここにスタック トレース:

Incident Identifier: 4729DA31-A946-436D-97AC-EB3C8746E0FF
CrashReporter Key:   92eabebd7d2b07f27dde132a3c28d6bb7cf92df4
Hardware Model:      iPad3,6
Process:         ... [3120]
Path:            /var/mobile/Applications/10173A06-48D0-48F7-A832-9AC6961B045D/...app/...
Identifier:      ...
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-05-09 19:07:31.997 +0100
OS Version:      iOS 6.1.3 (10B329)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000008
Crashed Thread:  2

...

Thread 2 name:  WebThread
    Thread 2 Crashed:
    0   WebCore                         0x3772a03a WebCore::ThreadTimers::sharedTimerFiredInternal() + 130
    1   WebCore                         0x37729f86 WebCore::timerFired(__CFRunLoopTimer*, void*) + 62
    2   CoreFoundation                  0x31741854 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12
    3   CoreFoundation                  0x317414fe __CFRunLoopDoTimer + 270
    4   CoreFoundation                  0x31740172 __CFRunLoopRun + 1226
    5   CoreFoundation                  0x316b3238 CFRunLoopRunSpecific + 352
    6   CoreFoundation                  0x316b30c4 CFRunLoopRunInMode + 100
    7   WebCore                         0x37697390 RunWebThread(void*) + 440
    8   libsystem_c.dylib               0x39a530de _pthread_start + 306
    9   libsystem_c.dylib               0x39a52fa4 thread_start + 4

次の手順で発生します。

  1. UIWebView にリクエストを読み込ませる (NSURLRequest)
  2. リクエストが読み込まれる前にアプリをバックグラウンドに送信する
  3. 数分待ちます
  4. バックグラウンドからアプリを再開すると、例示されたスタック トレース情報でクラッシュします。

なぜこれが起こっているのか誰にも分かりますか?どんな助けでも大歓迎です!

編集: リクエストの実行に使用されるコード

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
    [self.webView loadRequest:urlRequest];
}

私の UIViewController は UIWebView のデリゲートでもあり、次のメソッドを実装しています。

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
-(void)webViewDidFinishLoad:(UIWebView *)webView

これらのメソッドのいずれかが呼び出される前に、アプリがクラッシュしました。

4

1 に答える 1