swift3.0 - swift3 怎么发起http请求

查看:108
本文介绍了swift3.0 - swift3 怎么发起http请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

新手刚接触ios开发,直接就学习研究swift,目的是向服务器发起一个网络请求,获取json数据,报错信息查了一段时间了,一直没有解决,请大家帮忙看看,我这该怎么解决这种错误

操作系统 : macOS 10.12
xcode8,swift3

新建立的 network.playground 测试

代码如下

//: Playground - noun: a place where people can play

import UIKit
import Foundation

var str = "Hello, playground"
print(str)
var query   = "http://dev.dingdangapp.com/mxadmin/test"
var url = URL(string: query)
var session = URLSession.shared
var task = session.dataTask(with: url!) { (data, response, error) in
    <#code#>
    print(data)
    print(error)
    print(response)
}
task.resume()

报错信息如下

Hello, playground
2016-09-21 17:30:31.963 network[37720:3442645] Failed to obtain sandbox extension for path=/var/folders/j1/rl5sncmd6lg1w8b9zh09qk380000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.network-09934DC3-DCA6-4035-958B-418A201A8FCA/Library/Caches/com.apple.dt.playground.stub.iOS_Simulator.network-09934DC3-DCA6-4035-958B-418A201A8FCA. Errno:1
2016-09-21 17:30:31.965 network[37720:3442645] Failed to obtain sandbox extension for path=/var/folders/j1/rl5sncmd6lg1w8b9zh09qk380000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.network-09934DC3-DCA6-4035-958B-418A201A8FCA/Library/Caches/com.apple.dt.playground.stub.iOS_Simulator.network-09934DC3-DCA6-4035-958B-418A201A8FCA. Errno:1

解决方案

个人建议不要在Playground中写网络请求的代码,因为网络请求往往是异步回调的。还是在ios application 或者osx application里面写。
另外,你访问的是http请求,不是https,我的印象中好像就算是在Playground,要访问http也需要ATS那个参数来着。写ios application 的时候记得在info.plist 里面加上这个键值

这篇关于swift3.0 - swift3 怎么发起http请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆