无法下载JSON数据

时间:2016-10-13 16:43:11

标签: json xcode nsurlsession

我有问题。 Safari可以加载页面h ttp://ip-api.com/json,但URLSession任务不能。 这是viewDidLoad

中的代码
    let url = URL(string: "http://ip-api.com/json")!
    let request = URLRequest(url: url)
    let task = URLSession.shared.dataTask(with: request, completionHandler: {(data, response, error) -> Void in
        print("this is the server response: \(response)")
        if error != nil {
            print("some error: \(error)")
        } else {
            if let urlContent = data {
                print(urlContent)
            }
        }
    })
    task.resume()

控制台日志报告以下错误内容:

...一些错误:可选(错误域= NSURLErrorDomain代码= -1022"无法加载资源,因为App Transport Security策略要求使用安全连接。" UserInfo = {NSUnderlyingError = 0x60800005bc00 {错误域= kCFErrorDomainCFNetwork代码= -1022"(null)"},NSErrorFailingURLStringKey = http://ip-api.com/json,NSErrorFailingURLKey = http://ip-api.com/json,NSLocalizedDescription =资源不能因为App Transport Security策略需要使用安全连接而加载。})

2 个答案:

答案 0 :(得分:0)

有一个小错误!编辑plist项目时 我在<key>和属性名称之间留下了一个空格,如下所示 <key> NSAppTransportSecurity</key>。遗憾

答案 1 :(得分:0)

在您的info.plist文件中添加此内容,

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict/>
        <key> http://ip-api.com</key>
        <string></string>
    </dict>

它适用于你。