Apple Transport Security

时间:2016-10-11 08:40:51

标签: swift ssl

我写了一些快速的代码来显示来自psychicliving.co.uk的图片

不幸的是,图片没有出现,但我可以看到从不同服务器托管的图片。

我已经对苹果安全策略做了一些阅读,并怀疑问题可能与服务器SSL证书有关。当我将AllowAritaryLoads设置为YES时,图像会正确加载。

当我对站点SSL证书进行检查时,我可以看到未启用TLS 1.2协议。

这是图像未加载的原因吗?或者我错过了什么?

let url = NSURL(string: "https://www.psychicliving.co.uk/images/Michael.jpg")
if let data = NSData(contentsOf: url as! URL) {
    cell.imgCarNane.image = UIImage(data: data as Data)
}

enter image description here

1 个答案:

答案 0 :(得分:2)

您的图片在没有任意负载的情况下加载的原因是因为您确实没有使用TLS 1.2:

  

通过更高级别的API进行的通信需要加密   使用TLS版本1.2并具有前向保密性。

https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-DontLinkElementID_12