iOS WKWebView 报错 kCFRunLoopCommonModes

记录一下使用WKWebView中遇到的一个低级错误。在APP内使用WKWebView封装了一个简单的BrowserViewController,把BrowserViewController作为其他控制器的子控制器的时候一切正常,但是单独把BrowserViewController push出来的时候就会报下面的错误。排查半天原来是一个非常低级的错误。

“invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
libc++abi.dylib: terminate_handler unexpectedly threw an exception”

WKWebView的代理方法

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler

中,必须调用decisionHandler,否则就会出错。

比如:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

    decisionHandler(WKNavigationActionPolicyAllow);
}

Add a Comment

您的电子邮箱地址不会被公开。