我想在我的iOS应用中调用HTTPS url(自签名证书)。它适用于移动浏览器,但不适用于App Webview。
Xcode 7和Swift 2.2有解决方案吗?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL(string: "https://xxx.xxx.x.xxx:xxxx")
let request = NSURLRequest(URL: url!)
Webview.loadRequest(request)
}
答案 0 :(得分:7)
您必须在设备上安装自签名证书或 CA 才能让设备信任它 然后只有设备信任SSL连接。
如果安装自签名证书,请确保 URL 的域名与公用名相同证书。
如果没有域名,那么IP地址就可以了。
证书安装:
您可以在Web服务器上托管它并尝试从safari访问它,然后iOS会提示在iOS设备中安装证书
证书创建:
以下是创建自签名证书的方法,以便您可以在Web服务器中填写所有详细信息和主机。
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1001 -nodes
(输入公共名称值时注意)
答案 1 :(得分:-1)
尝试在plist文件中添加以下代码。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>