亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS11 WKWebView問題匯總

2020-07-26 02:37:08
字體:
來源:轉載
供稿:網友

問題一描述:

iOS9和iOS10用WKWebView加載URL都沒有問題,iOS11卻是一片空白
可能是用了NSMutableURLRequest,iOS11貌似不支持NSMutableURLRequest,無論是用UIWebView還是WKWebView,都不支持NSMutableURLRequest

解決方法參考

  if #available(iOS 11, *) {   let request = NSURLRequest.init(url: URL.init(string: urlStr)!)   self.wkWebView.load(request as URLRequest)  }else{   let request = NSMutableURLRequest.init(url: URL.init(string: urlStr)!, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 60)   request.httpMethod = "GET"   request.httpBody = ("token=" + tokenValue()).data(using: String.Encoding.utf8)   self.wkWebView.load(request as URLRequest)  }

問題二描述:在用iPhone X 的模擬器進入Hybrid項目時,發現一進去就崩潰,崩潰信息少的可憐:

libc++abi.dylib: terminating with uncaught exception of type NSException

靠這玩意兒肯定是定位不出bug的,不過全局斷點還是給出了一點信息:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler { NSString *requestString = navigationAction.request.URL.absoluteString; //對外鏈、撥號和跳轉appstore做特殊處理 UIApplication *app = [UIApplication sharedApplication]; NSURL *url = [navigationAction.request URL]; //電話 //此處省略若干業務代碼 if ([url.absoluteString containsString:@"itunes.apple.com"]) {  if ([app canOpenURL:url])  {   [app openURL:url];   decisionHandler(WKNavigationActionPolicyCancel);  } } if ([requestString hasPrefix:@"easy-js:"]) {  [self handleRequestString:requestString webView:(EasyJSWebView *)webView.superview];  decisionHandler(WKNavigationActionPolicyCancel); } if ([self.realDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {  [self.realDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler]; } decisionHandler(WKNavigationActionPolicyAllow);//崩在這里}

仍然不知道為啥子崩在這兒?之前一直是沒問題的啊??

小Tips:
為了獲取一些堆棧信息以便于快準狠的定位問題,可以在main函數里:

int main(int argc, char * argv[]) { @try {  @autoreleasepool  {   return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));  } } @catch (NSException* exception) {  NSDebugLog(@"Exception=%@/nStack Trace:%@", exception, [exception callStackSymbols]); }}

最終得到一條關鍵報錯:

Completion handler passed to -[WKPrivateNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once

意思就是WKWebView的這個代理方法被多次調用了。

if ([requestString hasPrefix:@"easy-js:"]) {  [self handleRequestString:requestString webView:(EasyJSWebView *)webView.superview];  decisionHandler(WKNavigationActionPolicyCancel); } if ([self.realDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {  [self.realDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler]; } decisionHandler(WKNavigationActionPolicyAllow);//崩在這里

簡單分析一下被多次調用的原因:

1、系統判斷這個方法被多次執行,主要是看decisionHandler()是否被多次執行;
2、由于if判斷里會執行decisionHandler(),最后一行代碼也會執行decisionHandler(),并且self.realDelegate中也會執行decisionHandler(),這就導致了decisionHandler()這個handler可能會被多次執行。
那解決問題的方向就是修改代碼保證WKWebView單次LoadRequest只調一次此代理方法~

修改如下:

 if ([requestString hasPrefix:@"easy-js:"]) {  [self handleRequestString:requestString webView:(EasyJSWebView *)webView.superview];  decisionHandler(WKNavigationActionPolicyCancel); } else if ([self.realDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {  [self.realDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler]; } else {  decisionHandler(WKNavigationActionPolicyAllow); }

即保證了單次LoadRequest只執行一次decisionHandler()

問題三描述:iOS11 WKWebview獲取高度不準確

遇見這個問題的時候,我發現偏離了大概64像素,由此聯想到了tableView和collectionView。
故解決辦法如下:

if (@available(iOS 11.0, *)) {  _webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;  _webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);  _webView.scrollView.scrollIndicatorInsets = _webView.scrollView.contentInset; }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品va在线看黑人动漫| www亚洲欧美| 91精品久久久久| 高清欧美性猛交| 欧美与欧洲交xxxx免费观看| 日韩欧美在线免费| 九九热这里只有精品6| 亚洲裸体xxxx| 国产精品日韩欧美综合| 欧美与黑人午夜性猛交久久久| 久久成人国产精品| 国产精品一区二区在线| 久久精品91久久香蕉加勒比| 国产欧美日韩中文字幕| 欧美在线视频一区| 狠狠躁夜夜躁人人躁婷婷91| 国产久一一精品| 欧美交受高潮1| 国产精品久久99久久| 欧美日韩激情小视频| 日韩中文字在线| 午夜精品一区二区三区在线视频| 伊人久久大香线蕉av一区二区| 96国产粉嫩美女| 亚洲性生活视频在线观看| 欧美日韩国产第一页| 国产精品综合网站| 中文国产亚洲喷潮| 91av网站在线播放| 久久综合色88| 国产精品狼人色视频一区| 亚洲人午夜色婷婷| 亚洲欧美日韩在线一区| 欧美在线性视频| 亚洲人成在线观| 全色精品综合影院| 国产精品大陆在线观看| 久久综合久久美利坚合众国| 在线精品播放av| 亚洲男子天堂网| 国产精品夜色7777狼人| 欧美黄色小视频| 久久久久久久久久久免费精品| 日韩欧美在线视频免费观看| 日韩欧美aⅴ综合网站发布| 日韩精品极品视频| 欧美精品在线免费| 欧美性xxxxx| 97精品国产91久久久久久| 欧美午夜丰满在线18影院| 精品久久久久久久久久久| 97在线看免费观看视频在线观看| 国产精品欧美一区二区三区奶水| 国产在线不卡精品| x99av成人免费| 92看片淫黄大片欧美看国产片| 亚洲二区在线播放视频| 成人欧美一区二区三区黑人孕妇| 性金发美女69hd大尺寸| 清纯唯美日韩制服另类| 日韩av手机在线观看| 欧洲成人免费视频| 日韩欧美亚洲一二三区| 亚洲国产欧美一区| 久久人人爽人人爽人人片亚洲| 欧美性xxxxhd| 日韩小视频在线观看| 亚洲人成亚洲人成在线观看| 91精品久久久久久| 欧美成人免费网| 亚洲第一区第一页| 欧美日韩国产一区二区| 在线国产精品视频| 18久久久久久| 国产噜噜噜噜久久久久久久久| 亚洲视频电影图片偷拍一区| 久久久噜噜噜久久| 欧美电影在线观看网站| 这里只有精品久久| 国产视频精品va久久久久久| 一区二区三区视频免费在线观看| 欧美日韩亚洲一区二区三区| 在线激情影院一区| 国产日韩在线视频| 日韩欧美一区二区在线| 亚洲日本欧美日韩高观看| 亚洲精品美女视频| 中文字幕日韩欧美精品在线观看| 国产精品丝袜久久久久久不卡| 国产精品久久久久7777婷婷| 456国产精品| 91中文字幕一区| 欧美福利小视频| 亚洲乱码一区av黑人高潮| 麻豆国产精品va在线观看不卡| 亚洲视频在线免费观看| 欧美激情性做爰免费视频| 日韩欧美国产中文字幕| 久久久久久久久久久免费| 欧美国产亚洲视频| 亚洲国产成人久久综合| 久久久天堂国产精品女人| 国内精品一区二区三区四区| 亚洲图片欧洲图片av| 日韩一区二区三区xxxx| 红桃视频成人在线观看| 亚洲高清免费观看高清完整版| 亚洲www永久成人夜色| 精品高清一区二区三区| 欧美体内谢she精2性欧美| 久久偷看各类女兵18女厕嘘嘘| 中文在线资源观看视频网站免费不卡| 亚洲欧洲日产国产网站| 91亚洲午夜在线| 91免费国产网站| 欧美一级免费视频| 亚洲人成电影在线播放| 久久久国产一区二区| 日本欧美黄网站| 日韩精品在线看| 亚洲综合社区网| 久久精品青青大伊人av| 日韩中文字幕免费| 久久久久久网址| 久久精品国亚洲| 中文字幕亚洲欧美日韩2019| 精品国产户外野外| 国产成人av网址| 高清欧美电影在线| 久久伊人免费视频| 国产一区二区av| 国产一区红桃视频| 狠狠躁夜夜躁人人爽天天天天97| 亚洲精品电影在线| 亚洲最大激情中文字幕| 91精品国产91久久久| 久久久久久久久久久免费| 日韩免费电影在线观看| 欧美成人久久久| 亚洲欧美在线磁力| 亚洲成人a级网| 亚洲天堂av在线播放| 91久热免费在线视频| 国产精品入口日韩视频大尺度| 欧美中在线观看| 国产极品精品在线观看| 国产午夜精品全部视频播放| 国产精品极品美女在线观看免费| 国产精品成人播放| 九九精品视频在线| 亚洲jizzjizz日本少妇| 成人a在线观看| 国产精品影院在线观看| 亚洲人成自拍网站| 国产精品色悠悠| 亚洲肉体裸体xxxx137| 精品久久久久久久久久久久久| 国产精品av免费在线观看| 57pao成人国产永久免费| 免费91麻豆精品国产自产在线观看| 98视频在线噜噜噜国产| 久久五月天色综合| 精品视频在线播放色网色视频| 91免费精品国偷自产在线|