2017-09-11 61 views
0

我是嵌入式程序員,但現在我正在嘗試分析iOS日誌,以瞭解webview無法加載URL的問題。從日誌中,我看到下面的在iOS webview中可能出現NSURLErrorCannotFindHost的情景

404230 (_:didStartProvisionalNavigation:)::Entry 
404230 (_:didStartProvisionalNavigation:)::Exit 
404250 (_:didFailProvisionalNavigation:withError:)::Entry 
404250 (_:didFailProvisionalNavigation:withError:)::server with the specified hostname could not be found 
404250 (_:didFailProvisionalNavigation:withError:)::Exit 

據觀察,didFailProvisionalNavigation:withErrordidStartProvisionalNavigation後在20毫秒內調用錯誤的NSURLErrorCannotFindHost。

所以,下面是我的問題:

  1. 基於didStartProvisionalNavigationdidFailProvisionalNavigation:withError之間的時間,我開始懷疑,如果 的WebView真實目的是試圖解析域名。此時間 正常,默認DNS查詢超時是什麼?
  2. 在什麼情況下會發生這種錯誤?

回答

0

當iOS版的WebView試圖解析域名,DNS服務器返回Standard query response, Refused(經過在Wireshark的),這就是爲什麼網頁流量報告的錯誤NSURLErrorCannotFindHost

顯然是因爲它是一個DNS錯誤,它在_:didStartProvisionalNavigation之後的幾毫秒處調用了_:didFailProvisionalNavigation:withError回調。如果超時,可能需要更長時間。

相關問題