2013-07-26 5 views
5

इम होने मुसीबत इस समस्या को यह पता लगाने की कोई बात नहीं मैं क्या कर मैं इस दुर्घटनाUIWebView दुर्घटनाओं और मैं पता नहीं क्यों

यहाँ ट्रेस बार आ रही है काम करने के लिए अपनी समस्या को पाने के लिए कोशिश कर रहा है क्योंकि है

$0 = 0x1f8f9a10 (

    0 ???         0x02b04144 0x0 + 45105476, 
    1 TheAppName       0x001016e0 start + 0, 
    2 Foundation       0x34334599 + 72, 
    3 WebCore        0x399e7bfb + 82, 
    4 UIKit        0x3595b493 + 182, 
    5 UIKit        0x358d7d1f + 382, 
    6 UIKit        0x358d7d33 + 402, 
    7 UIKit        0x358d7d33 + 402, 
    8 UIKit        0x358d7431 + 360, 
    9 UIKit        0x358d72c3 + 30, 
    10 UIKit        0x35ce2fef + 386, 
    11 UIKit        0x35ce3879 + 464, 
    12 UIKit        0x35ce63d3 + 698, 
    13 UIKit        0x35ce5e49 + 552, 
    14 UIKit        0x35ce28dd + 172, 
    15 UIKit        0x358d8803 + 258, 
    16 QuartzCore       0x35682d8b + 214, 
    17 QuartzCore       0x35682929 + 460, 
    18 QuartzCore       0x3568385d + 16, 
    19 QuartzCore       0x35683243 + 238, 
    20 QuartzCore       0x35683051 + 316, 
    21 QuartzCore       0x356ba0f7 + 254, 
    22 QuartzCore       0x356b9ff1 + 64, 
    23 IOMobileFramebuffer     0x37915fd7 + 154, 
    24 IOKit        0x346b4449 IODispatchCalloutFromCFMessage + 192, 
    25 CoreFoundation      0x33a975db + 118, 
    26 CoreFoundation      0x33aa2173 + 34, 
    27 CoreFoundation      0x33aa2117 + 138, 
    28 CoreFoundation      0x33aa0f99 + 1384, 
    29 CoreFoundation      0x33a13ebd CFRunLoopRunSpecific + 356, 
    30 CoreFoundation      0x33a13d49 CFRunLoopRunInMode + 104, 
    31 GraphicsServices     0x375ca2eb GSEventRunModal + 74, 
    32 UIKit        0x35929301 UIApplicationMain + 1120, 
    33 TheAppName       0x001332d9 main + 116, 
    34 TheAppName       0x00101708 start + 40 
    ) 

मैं जो कर रहा हूं वह एक स्लाइड शो के रूप में UIPageViewController का उपयोग कर रहा है। कभी-कभी जब पृष्ठ बदल जाता है तो मुझे एक वेब फ़ाइल के साथ एक HTML फ़ाइल लोड करने की आवश्यकता होती है, इन HTML फ़ाइलों में HTML पृष्ठ में ऑब्जेक्ट को एनिमेट करने के लिए उपयोग किए गए HTML कोड होते हैं। तो हर बार जब मैं पेज व्यू कंट्रोलर में प्रदर्शित करने के लिए एक नया व्यू कंट्रोलर बनाता हूं तो मुझे वेबव्यू को नष्ट करने की आवश्यकता होती है क्योंकि एक एनीमेशन से दूसरे एनीमेशन में जाने पर एनीमेशन एनीमेट नहीं होता है। कभी-कभी यह काम करता है लेकिन कभी-कभी यह इस दुर्घटना का कारण बनता है। अब मुझे नहीं पता कि इस पर कैसे पढ़ा जाए क्योंकि वेबव्यू दस्तावेज इतने विस्तृत नहीं हैं कि इस संदेश के रूप में विस्तृत है। तो क्या किसी को पता है कि यहां क्या हो रहा है ??

कोड थूक से बाहर जब यह



    WebCore`WebCore::Page::setDeviceScaleFactor(float): 
    0x399edbc0: push {r4, r5, r7, lr} 
    0x399edbc2: mov r4, r0 
    0x399edbc4: vmov d0, r1, r1 
    0x399edbc8: vldr s2, [r4, #100] 
    0x399edbcc: add r7, sp, #8 
    0x399edbce: vcmpe.f32s2, s0 
    0x399edbd2: vmrs APSR_nzcv, fpscr 
    0x399edbd6: it  eq 
    0x399edbd8: popeq {r4, r5, r7, pc} 
    0x399edbda: vstr s0, [r4, #100] 
    0x399edbde: ldr r5, [r4, #56] 
    0x399edbe0: cbz r5, 0x399edc22   ; WebCore::Page::setDeviceScaleFactor(float) + 98 
    0x399edbe2: ldr.w r0, [r5, #804] 
    0x399edbe6: movs r1, #1 
    0x399edbe8: bl  0x39a3c3c0    ; WebCore::Document::styleResolverChanged(WebCore::StyleResolverUpdateFlag) 
    0x399edbec: add.w r0, r5, #28 
    0x399edbf0: movs r1, #0 
    0x399edbf2: bl  0x399f9ed0    ; WebCore::FrameTree::traverseNext(WebCore::Frame const*) const 
    0x399edbf6: mov r5, r0 
    0x399edbf8: cmp r5, #0 
    0x399edbfa: bne 0x399edbe2    ; WebCore::Page::setDeviceScaleFactor(float) + 34 
    0x399edbfc: ldr r0, [r4, #56] 
    0x399edbfe: cmp r0, #0 
    0x399edc00: beq 0x399edc22    ; WebCore::Page::setDeviceScaleFactor(float) + 98 
    0x399edc02: bl  0x39dee4f4    ; WebCore::Frame::deviceOrPageScaleFactorChanged() 
    0x399edc06: ldr r5, [r4, #56] 
    0x399edc08: b  0x399edc1e    ; WebCore::Page::setDeviceScaleFactor(float) + 94 
    0x399edc0a: add.w r0, r5, #872 
    0x399edc0e: bl  0x39dc7fa0    ; WebCore::Editor::deviceScaleFactorChanged() 
    0x399edc12: add.w r0, r5, #28 
    0x399edc16: movs r1, #0 
    0x399edc18: bl  0x399f9ed0    ; WebCore::FrameTree::traverseNext(WebCore::Frame const*) const 
    0x399edc1c: mov r5, r0 
    0x399edc1e: cmp r5, #0 
    0x399edc20: bne 0x399edc0a    ; WebCore::Page::setDeviceScaleFactor(float) + 74 
    0x399edc22: bl  0x399e6ed8    ; WebCore::pageCache() 
    0x399edc26: mov r1, r4 
    0x399edc28: pop.w {r4, r5, r7, lr} 
    0x399edc2c: b.w 0x399edc30    ; WebCore::PageCache::markPagesForFullStyleRecalc(WebCore::Page*) 

+0

प्रश्न में पुस्तकालय के अलग-अलग कोड शामिल हैं जहां दुर्घटना हुई थी। कृपया इसके बजाय एक स्टैक ट्रेस प्रदान करें, वे दुर्घटनाओं का निदान करने में अधिक उपयोगी हैं। – BergQuester

+0

मैं यह कैसे कर सकता हूं? – Esko918

+0

वैसे मुझे पता चला कि [NSThread callStackSymbols] पोस्ट ने मुझे – Esko918

उत्तर

1

सुनिश्चित नहीं हैं कि टूट जाता है अगर यह आपकी समस्या का समाधान होगा, लेकिन नहीं के बराबर करने के लिए वेबव्यू के प्रतिनिधि की स्थापना जब आप वेबव्यू को नष्ट करने की कोशिश। यदि आपको वेबव्यू अस्वीकार करने के बाद UIWebViewDelegate कॉलबैक मिलता है, तो आपका ऐप क्रैश हो जाएगा।

+0

मैंने पाया कि किसी अन्य साइट पर और इसे आज़माकर, मेरी समस्या का समाधान करने के लिए कोई फायदा नहीं हुआ। वैसे भी दोस्त धन्यवाद। – Esko918

+2

अपने कोड का प्रतीक और desymbolicated स्टैक निशान पोस्ट किए बिना, मुझे नहीं लगता कि कोई भी आपकी मदद करने में सक्षम हो जाएगा। साथ ही, आपके कुछ कोड पोस्ट करने से मदद मिलेगी। – JonahGabriel

+0

क्या आप मुझे किसी वेबसाइट या सेब डॉक्स पर इंगित कर सकते हैं जो मुझे बताए कि यह कैसे करें? – Esko918

3

आप

[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]]; 

सौभाग्य खाली पृष्ठ पर अपने viewWillDisappear विधि

[webview stopLoading] 
webview.delegate = nil; 

पर या एक अतिरिक्त सेट इसके साथ वेबव्यू लोड हो रहा है बंद हो सकता है!

संबंधित मुद्दे