我无法解决这个问题,因为无论我做什么让我的问题得以解决,我都会遇到这个问题
继续跟踪
$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作为幻灯片。有时当页面转动时我需要加载带有Web视图的HTML文件,这些html文件包含用于在html页面中为对象设置动画的html代码。因此,每当我创建一个新的视图控制器以显示在pageViewController中时,我需要销毁webview,因为当从一个动画转到另一个动画时,aniamtion不会动画。有时它会起作用,但有时它会引起这种崩溃。现在我不知道如何阅读这个,因为webview没有记录如此详细的消息。那么有谁知道这里到底发生了什么?
代码在中断时吐出
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 :(得分:3)
您可以在viewWillDisappear方法
上停止加载webview[webview stopLoading]
webview.delegate = nil;
或另外设置为空白页
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
祝你好运!
答案 1 :(得分:1)
不确定这是否会解决您的问题,但在销毁webview时尝试将webview的委托设置为nil。如果在取消分配webview后获得UIWebViewDelegate回调,则应用程序将崩溃。