嗨,下面的代碼可以從網絡服務器上下載圖片。該請求是HTTP如此不安全。iOS 11使用ATS從HTTP加載圖片
DispatchQueue.global(qos: .userInitiated).async {
var productImage = Utilities.GetEmptyImageBottle()
if (entry.ImageName != nil || entry.ImageUrl != nil) {
let data = NSData(contentsOf: URL(string: entry.ImageUrl.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)!)!)
if data != nil {
let image = UIImage(data: data! as Data)
productImage = image!
}
}
DispatchQueue.main.async {
cell.ProductImage.image = productImage
}
}
我還添加了在我的info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
下現在我的圖片不加載,我得到以下錯誤:
NSURLConnection finished with error - code -1002
這是在Xcode 9運行iOS 11.在Xcode 8的iOS 10中,沒有問題。
我錯過了什麼?
除了這個問題,您的代碼還有很多錯誤。不要使用'nil'檢查,而是使用'if let'語句。另外,你應該使用NSURLSession異步加載web請求。 – JAL