在wwdc viedo [与NSURLSession联网]中,他们说NSURLSession自动支持HTTP/2协议;
但是当我使用这个代码的时候,
let sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: sessionConfig)
let url = NSURL(string: "https://www.google.com.hk")
let task = session.dataTaskWithURL(url) {
(data: NSData?, response: NSURLResponse?, error: NSError?) in
...
}
task?.resume()它不使用HTTP/2。
但是有了这段代码,就没问题了
let session = NSURLSession.sharedSession()
let url = NSURL(string: "https://www.google.com.hk")
let task = session.dataTaskWithURL(url) {
(data: NSData?, response: NSURLResponse?, error: NSError?) in
...
}
task?.resume() 网络正常,它使用http/2
有人知道为什么吗?
发布于 2015-09-15 14:19:46
提交一个bug。使用默认会话配置创建的会话应该与共享会话的行为相同。
当然,我假设该代码片段周围的代码维护了对会话的强引用,并且您不会看到一些奇怪的边缘情况错误,即会话消失,其配置在任务完成或其他情况之前变为空。
https://stackoverflow.com/questions/32447888
复制相似问题