我正在使用Alamofire(适用于Swift)& AFNetworking(针对目标c)和我都面临同样的问题。
以下是示例网址
“https://static.toiimg.com/photo/msid-61516774/61516774.jpg?59422”
相当基本的URL,但是当我尝试setImage时,它无法加载图像。当我尝试在Google Chrome中加载相同的网址时,它很容易加载,但是当我在Safari上尝试时无法加载。它只是下载图像。
有人可以建议我可以做些什么来处理这样的URI吗?
我的代码中没有任何花哨的东西。非常基本的Alamofire / Afnetworking
setImageWithUrl:PlaceHolderImage:两者的方法。
提前致谢。
答案 0 :(得分:1)
这是您服务器中存在图像的问题。
否则,如果你尝试使用不同的网址,
[_myImageView setImageWithURL:[NSURL URLWithString:@"https://static.pexels.com/photos/236636/pexels-photo-236636.jpeg"] placeholderImage:nil];
然后它运行正常,但如果我尝试使用您的网址,我会在日志中收到NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
和nw_coretls_read_one_record tls_handshake_process: [-9824]
错误。
您的TLS
版本可能在服务器端过时了!
从服务器解决问题,您的代码将有效!
答案 1 :(得分:0)
func loadImage() {
let url = NSURL(string: "https://static.toiimg.com/photo/msid-61516774/61516774.jpg?59422")!
let task = URLSession.shared.dataTask(with: url as URL) { (responseData, responseUrl, error) -> Void in
if let data = responseData{
DispatchQueue.main.async(execute: { () -> Void in
self.yourImageView.image = UIImage(data: data)
})
}
}
task.resume()
}
希望它有效。