App Stürzt ab, wenn NavigationController wird geknallt!
Unten ist das, was ich kopieren/eingefügt von den Crash-Log vom client gesendet wird. Ich bin nicht in der Lage zu verstehen, was das heißt :s
Anscheinend wie es aussieht ist die app stürzte bei der Navigation zurück zum vorherigen Bildschirm (und das ist es, was Kunden hat berichtet). Was ist UIWebDocumentView hier?
Muss ich zum beheben des Absturzes, aber ich bin hier hängengeblieben, so dass jede Hilfe wird sehr geschätzt.
P. S. ich bin mit dem iphone sdk 3.0.
Date/Time: 2009-09-29 18:16:28.458 -0400
OS Version: iPhone OS 3.0 (7A341)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xbbadbeef
Crashed Thread: 4
Thread 4 Crashed:
0 WebCore 0x3588dd74 __ZL17_WebTryThreadLockb + 288
1 WebCore 0x3588e4c0 __ZL18_WebThreadAutoLockv + 52
2 UIKit 0x30aea484 -[UIWebDocumentView _responderForBecomeFirstResponder] + 8
3 UIKit 0x30978b34 -[UINavigationTransitionView transition:fromView:toView:] + 200
4 UIKit 0x30978a54 -[UINavigationTransitionView transition:toView:] + 24
5 UIKit 0x30974470 -[UINavigationController _startTransition:fromViewController:toViewController:] + 1604
6 UIKit 0x30973d90 -[UINavigationController _startDeferredTransitionIfNeeded] + 256
7 UIKit 0x309a7468 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 400
8 UIKit 0x309a72c8 -[UINavigationController popViewControllerAnimated:] + 32
9 Snocell 0x0002ae00 0x1000 + 171520
10 Foundation 0x30554062 -[NSThread main] + 42
11 Foundation 0x305023f2 __NSThread__main__ + 852
12 libSystem.B.dylib 0x31d705a0 _pthread_body + 20
- Ok,ich glaube ich habe die Lösung gefunden. Teilen falls jemand die Tropfen hier: EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS bedeutet, dass die virtuelle Adresse, die Sie refererencing ist nicht in der page-Tabellen, oder Sie keinen Zugriff haben. Es ist eine virtuelle Adresse, die Sie nicht zugreifen dürfen. Für dein Beispiel-Adresse 0x67696c69 es ist wahrscheinlich, dass dies ist etwas, das nicht ist ein Zeiger, der wurde behandelt wie ein Zeiger, oder Ihre Daten-Struktur, die enthält der Zeiger war frei würde und mit anderen Daten überschrieben. Und dann sehe ich WebCore in der log, eine Komponente, die im iPhone-WebKit (bit.ly/4j4WsN)
- Also, was ich hier Tue, dispalying eine website in UIWebView und bevor es vollständig geladen ist, knallen zurück zur vorherigen Ansicht-Controller und es ist ABGESTÜRZT. Ich fand, dass UIWebView muss seine Stellvertretung gelöscht werden, bevor Sie es freigeben; andernfalls, wenn eine web-Anfrage schließt nach loslassen der UIWebView, es versucht zu rufen Sie zurück, um den Delegierten und bewirkt, dass die Anwendung zum Absturz zu bringen. LÖSUNG: ich fügte hinzu, "myWebView.delegate = nil;" vor dem Knall view-controller und es funktioniert jetzt 🙂
- Ich hatte ein ähnliches problem -- webView.delegate = nil gelöst, genauso wie für Sie.
- Ich kam hierher auf der Suche nach BADBEEF.
InformationsquelleAutor Imran Raheem | 2009-10-02
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich glaube ich habe die Lösung gefunden. Teilen Sie, falls jemand anderes bekommt in der gleichen situation:
EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS
bedeutet, dass die virtuelle Adresse, die Sie refererencing ist nicht in der page-Tabellen, oder Sie keinen Zugriff haben. Es ist eine virtuelle Adresse, die Sie nicht zugreifen dürfen. Für dein Beispiel-Adresse 0x67696c69 es ist wahrscheinlich, dass dies ist etwas, das nicht ist ein Zeiger, der wurde behandelt wie ein Zeiger, oder Ihre Daten-Struktur, die enthält der Zeiger war frei würde und mit anderen Daten überschrieben.Und dann sehe ich WebCore in dem stack-trace im log (WebCore ist eine Komponente im iPhone-WebKit - http://en.wikipedia.org/wiki/WebKit#Components)
So, was ich hier Tue, dispalying eine website in UIWebView und bevor es vollständig geladen ist, knallen zurück zur vorherigen Ansicht-Controller und es ABGESTÜRZT.
Fand ich, dass UIWebView muss seine Stellvertretung gelöscht werden, bevor Sie es freigeben; andernfalls, wenn eine web-Anfrage schließt nach loslassen der UIWebView, es versucht zu rufen Sie zurück, um den Delegierten und bewirkt, dass die Anwendung zum Absturz zu bringen.
LÖSUNG: habe ich folgenden code Hinzugefügt, bevor knallen view-controller und es funktioniert jetzt 🙂
Ich glaube, das folgende wird auch für einen richtigen Ansatz. Legen Sie die Stellvertretung der null-ersten.