ios – NSData contentsOfUrl返回nil

我在StackOverflow上发现了几个类似的问题,但没有一个能解决我的问题.

我想从网址获取图片.我是这样做的:

let url = NSURL(string: "http://pic3.zhimg.com/8161ba9638273e0fb1a0201789d22d8e_m.jpg")
let data = NSData(contentsOfURL: url!)
let image = UIImage(data: data!)

但我收到一个错误,告诉我数据是零.

我怎么解决这个问题?谢谢.

UPDATE

以下是错误的一些屏幕截图:


解决方法

这可能是Apple的新应用程序传输安全性拒绝非HTTPS请求的结果.要解决此问题,您需要修改应用的Info.plist文件.您可以为该特定域定义例外
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>pic3.zhimg.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

或完全禁用ATS

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...