1. 程式人生 > >WKWebViewJavascriptBridge 在iOS 11上的問題

WKWebViewJavascriptBridge 在iOS 11上的問題

iOS 10.3 或 iOS 11.0 WKWebView 可能會遇到 Completion handler passed to -[WKWebViewJavascriptBridge webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once 這個問題導致崩潰,只要像這樣在 WKWebViewJavascriptBridge.m 檔案中新增一行程式碼即可 ​​​​。

if ([_baseisWebViewJavascriptBridgeURL:url]) {

if ([_baseisBridgeLoadedURL:url]) {

[_baseinjectJavascriptFile];

} else if ([_base isQueueMessageURL:url]) {

[selfWKFlushMessageQueue];

} else {

[_baselogUnkownMessage:url];

}

decisionHandler(WKNavigationActionPolicyCancel);

return;//新增此句

}