Dưới đây là những gì tôi sao chép/dán từ Nhật ký sự cố do khách hàng gửi. Tôi không thể hiểu điều đó có nghĩa là gì: sApp Crashes khi NavigationController được bật lên!
Dường như ứng dụng bị lỗi khi điều hướng quay lại màn hình trước đó (và đó là những gì khách hàng đã báo cáo). UIWebDocumentView ở đây là gì?
Tôi cần giải quyết sự cố nhưng tôi bị kẹt ở đây nên mọi trợ giúp đều được đánh giá cao.
P.S. Tôi đang sử dụng 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, tôi đoán tôi đã tìm thấy giải pháp. Chia sẻ nó trong trường hợp ai đó ghé qua đây: EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS có nghĩa là địa chỉ ảo mà bạn đang tham chiếu không có trong bảng trang hoặc bạn không có quyền truy cập. Đó là địa chỉ ảo mà bạn không được phép truy cập. Đối với địa chỉ ví dụ của bạn 0x67696c69 có khả năng đây là thứ không phải là con trỏ được coi là con trỏ; hoặc cấu trúc dữ liệu của bạn có chứa con trỏ được free'd và ghi đè với các dữ liệu khác. Và, sau đó tôi thấy WebCore trong nhật ký, một thành phần trong iPhone WebKit (http://bit.ly/4j4WsN) –
Vì vậy, những gì tôi đã làm ở đây, phân phối một trang web trong UIWebView và trước khi nó có thể tải hoàn toàn, popping quay lại bộ điều khiển chế độ xem trước đó và CRASHED. Tôi thấy rằng UIWebView cần phải được ủy quyền xóa trước khi bạn phát hành; nếu không, nếu yêu cầu web hoàn tất sau khi bạn phát hành UIWebView, nó sẽ cố gắng gọi lại cho người được ủy quyền và khiến ứng dụng gặp sự cố. GIẢI PHÁP: Tôi đã thêm "myWebView.delegate = nil;" trước khi popping xem điều khiển và nó làm việc bây giờ :) –
Tôi đã có một vấn đề tương tự - webView.delegate = nil giải quyết nó, giống như cho bạn. –