最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS中WKWebView白屏問題的分析與解決

 更新時間:2017年10月26日 09:29:27   作者:dimsky  
最近在工作中遇到了WKWebView白屏的問題,所以這篇文章主要給大家介紹了關(guān)于iOS中WKWebView白屏問題的分析與解決方法,文中通過示例代碼介紹的非常詳細(xì),對同樣遇到這個問題的朋友具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

隨著WKWebView的推出, 解決了很多UIWebView 的問題。比如加載速度慢,內(nèi)存泄露等問題。WKWebView是在iOS 8 推出,前段時間正好把項(xiàng)目也適配到iOS 8 以上了,終于可以把項(xiàng)目中的UIWebView 替換成WKWebView。

WKWebView的特點(diǎn):

  • 性能高,穩(wěn)定性好,占用的內(nèi)存比較小,
  • 支持JS交互
  • 支持HTML5 新特性
  • 可以添加進(jìn)度條(然并卵,不好用,還是習(xí)慣第三方的)。
  • 支持內(nèi)建手勢,
  • 據(jù)說高達(dá)60fps的刷新頻率(不卡)

但是發(fā)現(xiàn)在使用的時候還是有很多坑,這其中就有屢見不鮮的白屏問題。經(jīng)過一些調(diào)試、google 發(fā)現(xiàn)不外乎這3個原因。下面話不多說了,來一起看看詳細(xì)的介紹吧。

1. iOS 8.0 - iOS 8.2 偶爾白屏問題

這個是WKWebView 剛推出時的Bug,偶爾會出現(xiàn)白屏,如果想避免這種問題,只能通過版本號判斷,小于8.2的系統(tǒng)使用UIWebView。

2. HTTPS 請求,未實(shí)現(xiàn)證書認(rèn)證代理導(dǎo)致頁面不加載的問題

如果是HTTPS 請求,需要在WKWebView 的 WKNavigationDelegate 中的一個代理方法 中實(shí)現(xiàn)獲取服務(wù)器認(rèn)證的邏輯,最后返回給服務(wù)端。 這個問題常常出現(xiàn)在客戶端無法獲得安全認(rèn)證的時候(沒有證書,或者是自建證書),比如說https://www.apple.com/cn 是默認(rèn)的蘋果中國的地址,但是 https://www.apple.com.cn 也是可以訪問的(會自動跳轉(zhuǎn)到 https://www.apple.com/cn ) ,只是在Safari 的安全認(rèn)證中通不過,我們需要在代理方法中通過服務(wù)端給的驗(yàn)證方式創(chuàng)建一個憑證,然后繼續(xù)申請?jiān)L問。比如在Safari 瀏覽器中第一次訪問時就會彈出對話框,點(diǎn)擊繼續(xù)后就可以繼續(xù)訪問。


通過實(shí)現(xiàn)以下代理即可解決

func webView(webView: WKWebView, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
  // 判斷服務(wù)器采用的驗(yàn)證方法
 if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust {
  if challenge.previousFailureCount == 0 {
   // 如果沒有錯誤的情況下 創(chuàng)建一個憑證,并使用證書
   let credential = NSURLCredential(forTrust: challenge.protectionSpace.serverTrust!)
   completionHandler(.UseCredential, credential)
  } else {
   // 驗(yàn)證失敗,取消本次驗(yàn)證
   completionHandler(.CancelAuthenticationChallenge, nil)
  }
 } else {
  completionHandler(.CancelAuthenticationChallenge, nil)
 }
}

3. 由于滾動組件嵌套的結(jié)構(gòu),不刷新的問題

這是有個哥們遇到的問題,分析的很仔細(xì),從發(fā)現(xiàn)問題,到分析WebKit 源碼,最后得知是在頁面滾動后沒有正常的調(diào)用 WKWebView 的 _updateVisibleContentRects 方法刷新需要渲染的內(nèi)容導(dǎo)致。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    這篇文章主要為大家介紹了iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • iOS擼一個簡單路由Router的實(shí)現(xiàn)代碼

    iOS擼一個簡單路由Router的實(shí)現(xiàn)代碼

    這篇文章主要介紹了iOS擼一個簡單路由Router的實(shí)現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • ios常見加密解密方法(RSA、DES 、AES、MD5)

    ios常見加密解密方法(RSA、DES 、AES、MD5)

    本篇文章主要介紹了ios常見加密解密方法(RSA、DES 、AES、MD5),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • IOS判斷字符串是否有空格實(shí)例

    IOS判斷字符串是否有空格實(shí)例

    在我們大家日常開發(fā)的時候,經(jīng)常會需要對注冊,登錄,忘記密碼等功能的密碼進(jìn)行判斷是否包含空格,下面這篇文章給大家分享了自己封裝的一個方法,有需要的可以參考借鑒。
    2016-09-09
  • iOS開發(fā)xconfig和script腳本使用詳解

    iOS開發(fā)xconfig和script腳本使用詳解

    這篇文章主要為大家介紹了iOS開發(fā)xconfig和script腳本使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • iOS開發(fā)Firebase中的常用庫使用及功能詳解

    iOS開發(fā)Firebase中的常用庫使用及功能詳解

    這篇文章主要為大家介紹了iOS開發(fā)Firebase中的常用庫使用及功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • IOS中Weex 加載 .xcassets 中的圖片資源的實(shí)例詳解

    IOS中Weex 加載 .xcassets 中的圖片資源的實(shí)例詳解

    這篇文章主要介紹了IOS中Weex 加載 .xcassets 中的圖片資源的實(shí)例詳解的相關(guān)資料,希望通過本文介紹能幫助到大家,實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-08-08
  • 用iOS模擬器安裝App的方法

    用iOS模擬器安裝App的方法

    下面小編就為大家分享一篇用iOS模擬器安裝App的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS開發(fā)學(xué)習(xí) ViewController使用示例詳解

    iOS開發(fā)學(xué)習(xí) ViewController使用示例詳解

    這篇文章主要為大家介紹了iOS開發(fā)學(xué)習(xí) ViewController使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • iOS實(shí)現(xiàn)計算器小功能

    iOS實(shí)現(xiàn)計算器小功能

    這篇文章主要介紹了iOS實(shí)現(xiàn)計算器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

顺平县| 琼中| 宜兰市| 方山县| 西畴县| 清苑县| 伊宁县| 乌兰察布市| 桐梓县| 开平市| 萝北县| 张掖市| 班玛县| 视频| 儋州市| 钟山县| 韩城市| 当雄县| 怀集县| 北安市| 林芝县| 含山县| 日土县| 越西县| 长子县| 荆州市| 甘德县| 通州市| 巫溪县| 海伦市| 桃源县| 怀远县| 深水埗区| 商丘市| 凯里市| 灵宝市| 密云县| 清流县| 开平市| 大英县| 英超|