天天看點

XCode9 WKWebViewJavascriptBridge 使用報錯

今天更新XCode9.0,運作項目,出現報錯:

        decisionHandler(WKNavigationActionPolicyAllow);

解決方式如下:

修改下面那個if判斷,換成else if

    if ([_baseisWebViewJavascriptBridgeURL:url]) {

        if ([_baseisBridgeLoadedURL:url]) {

            [_baseinjectJavascriptFile];

        } else if ([_baseisQueueMessageURL:url]) {

            [selfWKFlushMessageQueue];

        } else {

            [_baselogUnkownMessage:url];

        }

        decisionHandler(WKNavigationActionPolicyCancel);

    }

    if (strongDelegate && [strongDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {

        [_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationActiondecisionHandler:decisionHandler];

    } else {

        decisionHandler(WKNavigationActionPolicyAllow);

    }

換成

       if ([_baseisWebViewJavascriptBridgeURL:url]) {

        if ([_baseisBridgeLoadedURL:url]) {

            [_baseinjectJavascriptFile];

        } else if ([_baseisQueueMessageURL:url]) {

            [selfWKFlushMessageQueue];

        } else {

            [_baselogUnkownMessage:url];

        }

        decisionHandler(WKNavigationActionPolicyCancel);

    } else if (strongDelegate && [strongDelegaterespondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {

        [_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationActiondecisionHandler:decisionHandler];

    } else {

        decisionHandler(WKNavigationActionPolicyAllow);

    }