我只是用你的代码做了一个小项目,在模拟器中没有问题,
https://www.google.co.in
装载得很好。
我注意到您提到您正在使用Swift 4,我认为您应该考虑使用WebKit视图(
WKWebView
)自
UIWebView
已弃用。在里面
Apple's documentation
你可以看到如何实现它,这很简单。
如果您的证书不受信任,则必须添加到信息中。普利斯特
App Transport Security Settings
,
Allow Arbitrary Loads
是的。(不建议这样做)。
代码非常简单,请尝试一下:
import UIKit
import WebKit
class WebViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let myURL = URL(string: "https://www.myurl.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
if let serverTrust = challenge.protectionSpace.serverTrust {
completionHandler(.useCredential, URLCredential(trust: serverTrust))
}
}
}