我是一名嵌入式程序员,但现在正在尝试分析iOS日志,以解决webview无法加载URL的问题。从日志中,我看到以下
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:withError
在didStartProvisionalNavigation
之后的20毫秒内被调用,错误为NSURLErrorCannotFindHost。
以下是我的问题:
didStartProvisionalNavigation
和之间的时间安排
didFailProvisionalNavigation:withError
,我开始怀疑是否
webview实际上试图解析域名。这是时机
正常,什么是默认的DNS查找超时?答案 0 :(得分:0)
当iOS webview尝试解析域名时,DNS服务器返回Standard query response, Refused
(在wireshark中检查过),这就是webview报告错误NSURLErrorCannotFindHost
的原因。
显然,因为它是DNS错误,所以它在_:didFailProvisionalNavigation:withError
之后几毫秒调用了回调_:didStartProvisionalNavigation
。如果超时,可能需要更长时间。