Я использую WKWebView
для загрузки веб-страницы в тестовой среде, где присутствует самозаверяющий сертификат.
WKWebView
, кажется, не может загрузить эту веб-страницу, так как сертификат имеетследующая проблема:
ERR_CERT_COMMON_NAME_INVALID
В Safari, iOS и macOS, если я открою страницу, я получаю следующее сообщение:
Если я решу продолжить, я могу правильно загрузить страницу.Напротив, в WKWebView
нет API, позволяющего обойти этот тип проверки.
Я пытался доверять всем сертификатам, используя следующие фрагменты, но ничего не происходит:
func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
if let serverTrust = challenge.protectionSpace.serverTrust {
completionHandler(.useCredential, URLCredential(trust: serverTrust))
} else {
completionHandler(.cancelAuthenticationChallenge, nil)
}
}
В моем Info.plist
файле я установил NSAllowsArbitraryLoadsInWebContent
на YES
, а также NSAllowsArbitraryLoads
для обеспечения обратной совместимости.
Есть идеи?