在我的 iOS 项目中,我遇到了很多似乎与 WebKit 相关的错误。为了提供一些背景知识,我们在应用程序中使用 WebViews 来显示新闻故事。这些新闻故事通常包含链接,当用户点击链接时,我们通常会将用户带到 Safari 以阅读完整的新闻文章。很标准的东西。无论如何,这就是崩溃的样子:
0 libobjc.A.dylib 0x31198f78 objc_msgSend + 15
1 CoreFoundation 0x313567e4 __invoking___ + 68
2 CoreFoundation 0x312b17b1 -[NSInvocation invoke] + 160
3 CoreFoundation 0x312b13cf -[NSInvocation invokeWithTarget:] + 50
4 WebKit 0x3395fe0d -[_WebSafeForwarder forwardInvocation:] + 252
5 CoreFoundation 0x31355a83 ___forwarding___ + 666
6 CoreFoundation 0x312b0650 _CF_forwarding_prep_0 + 48
7 CoreFoundation 0x313567e4 __invoking___ + 68
8 CoreFoundation 0x312b17b1 -[NSInvocation invoke] + 160
9 WebCore 0x31a851f5 _ZL11SendMessageP12NSInvocation + 24
10 WebCore 0x31a986f1 _ZL20HandleDelegateSourcePv + 80
11 CoreFoundation 0x31327ad3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
12 CoreFoundation 0x3132729f __CFRunLoopDoSources0 + 214
13 CoreFoundation 0x31326045 __CFRunLoopRun + 652
14 CoreFoundation 0x312a94a5 CFRunLoopRunSpecific + 300
15 CoreFoundation 0x312a936d CFRunLoopRunInMode + 104
16 GraphicsServices 0x32782439 GSEventRunModal + 136
17 UIKit 0x315aecd5 UIApplicationMain + 1080
18 MyApp 0x23e7 main (main.m:13)
在缩小这种崩溃范围方面,它似乎只发生在 iPad 上的 iOS 5.x 上。
FWIW,在我们代码库的某些区域,我们正在使用 WebViewDelegates 并拦截一些用户点击新闻报道中的链接。不确定这是否是一个促成因素,但认为值得一提。
关于这部分代码可能导致崩溃的任何想法?
谢谢,
肖恩