欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)之WKWebViewJavascriptBridge Xcode9中導致crash的解決

 更新時間:2017年10月20日 10:47:05   作者:開發(fā)仔XG  
大家都知道WebViewJavascriptBridge它主要幫助我們優(yōu)雅的實現(xiàn)OC與JS的交互,下面這篇文章主要給大家介紹了關于iOS開發(fā)之WKWebViewJavascriptBridge Xcode9中導致crash的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

本文主要給大家介紹了關于iOS WKWebViewJavascriptBridge Xcode9中導致crash的相關解決辦法,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

WKWebViewJavascriptBridge 這個第三方還是比較不錯的,但是最近Xcode9上,卻出現(xiàn)了crash;WKWebViewJavascriptBridge官方github看了大家也都有如此問題,最后終于解決了;

需要在WKWebViewJavascriptBridge類里,如下修改:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
 if (webView != _webView) { return; }
 NSURL *url = navigationAction.request.URL;
 __strong typeof(_webViewDelegate) strongDelegate = _webViewDelegate;

 if ([_base isWebViewJavascriptBridgeURL:url]) {
  if ([_base isBridgeLoadedURL:url]) {
   [_base injectJavascriptFile];
  } else if ([_base isQueueMessageURL:url]) {
   [self WKFlushMessageQueue];
  } else {
   [_base logUnkownMessage:url];
  }
  decisionHandler(WKNavigationActionPolicyCancel);
 } else {
  /// 在這新添加了else
  if (strongDelegate && [strongDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {
   [_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler];
  } else {
   decisionHandler(WKNavigationActionPolicyAllow);
  }
 }
} 

或這樣修改

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
 if (webView != _webView) { return; }
 NSURL *url = navigationAction.request.URL;
 __strong typeof(_webViewDelegate) strongDelegate = _webViewDelegate;

 if ([_base isWebViewJavascriptBridgeURL:url]) {
  if ([_base isBridgeLoadedURL:url]) {
   [_base injectJavascriptFile];
  } else if ([_base isQueueMessageURL:url]) {
   [self WKFlushMessageQueue];
  } else {
   [_base logUnkownMessage:url];
  }
  decisionHandler(WKNavigationActionPolicyCancel);
  /// 在這新添加了return
  return;
 }

 if (strongDelegate && [strongDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {
  [_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler];
 } else {
  decisionHandler(WKNavigationActionPolicyAllow);
 }
}

我猜測主要原因是 Xcode9上,decisionHandler() 這個block回調,不允許多次被調用;

總結

以上就是這篇文章的全部內容了,本文還有許多不足,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

參考鏈接

1、 https://github.com/marcuswestin/WebViewJavascriptBridge/issues/302

2、http://www.jianshu.com/p/909afcbc401e

相關文章

  • iOS簡單登錄LoginViewController、注冊RegisterViewController等功能實現(xiàn)方法

    iOS簡單登錄LoginViewController、注冊RegisterViewController等功能實現(xiàn)方法

    這篇文章主要為大家詳細介紹了iOS簡單登錄LoginViewController、注冊RegisterViewController、UcenterViewController功能實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS UILabel 設置內容的間距及高度的計算示例

    iOS UILabel 設置內容的間距及高度的計算示例

    本篇文章主要介紹了iOS UILabel 設置內容的間距及高度的計算示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • iOS的CoreAnimation開發(fā)框架中的Layer層動畫制作解析

    iOS的CoreAnimation開發(fā)框架中的Layer層動畫制作解析

    在iOS中UIView層的屬性會映射到CoreAnimation框架的CALayer,這里我們來看一下iOS的CoreAnimation開發(fā)框架中的Layer層動畫制作解析,需要的朋友可以參考下
    2016-07-07
  • 舉例詳解iOS開發(fā)過程中的沙盒機制與文件

    舉例詳解iOS開發(fā)過程中的沙盒機制與文件

    這篇文章主要介紹了舉例詳解iOS開發(fā)過程中的沙盒機制與文件,示例代碼為傳統(tǒng)的Obejective-C,需要的朋友可以參考下
    2015-09-09
  • 詳解iOS應用使用Storyboard布局時的IBOutlet與IBAction

    詳解iOS應用使用Storyboard布局時的IBOutlet與IBAction

    這篇文章主要介紹了iOS應用使用Storyboard布局時的IBOutlet與IBAction,文中還附帶講解了為什么IBOutlet屬性是weak的,需要的朋友可以參考下
    2016-04-04
  • iOS利用CoreImage實現(xiàn)人臉識別詳解

    iOS利用CoreImage實現(xiàn)人臉識別詳解

    OS的人臉識別從iOS 5(2011)就有了,不過一直沒怎么被關注過。人臉識別API允許開發(fā)者不僅可以檢測人臉,也可以檢測到面部的一些特殊屬性,比如說微笑或眨眼。下面這篇文章主要給大家介紹了iOS利用CoreImage實現(xiàn)人臉識別的相關資料,需要的朋友可以參考下。
    2017-05-05
  • iOS如何利用一句話完成轉場動畫

    iOS如何利用一句話完成轉場動畫

    這篇文章主要給大家介紹了關于iOS如何利用一句話完成轉場動畫的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • iOS中UIImagePickerController圖片選取器的用法小結

    iOS中UIImagePickerController圖片選取器的用法小結

    UIImagePickerController平時就是用來做應用中從相冊中選取圖片功能的,這里我們就來整理一下iOS中UIImagePickerController圖片選取器的用法小結,需要的朋友可以參考下
    2016-05-05
  • 關于iOS屏幕旋轉的一些注意事項

    關于iOS屏幕旋轉的一些注意事項

    這篇文章主要給大家介紹了關于iOS屏幕旋轉的一些注意事項,文中通過一步步的步驟介紹的很詳細,相信對大家的學習或者工作具有一定的參考借鑒價值,有需要的朋友可以參考學習,下面來一起看看吧。
    2017-01-01
  • IOS開發(fā)之多線程NSThiread GCD NSOperation Runloop

    IOS開發(fā)之多線程NSThiread GCD NSOperation Runloop

    這篇文章主要介紹了IOS多線程開發(fā),主要用到NSThiread、GCD、 NSOperation、Runloop,有詳細的原理解析和實例代碼,對多線程感興趣的同學,可以參考下
    2021-04-04

最新評論