2016-11-23 51 views
1

我测试URLSession的行为时,没有与此代码互联网连接:URLSession响应时没有互联网连接

var dataTask: URLSessionDataTask? 

    let url = NSURL(string: "https://itunes.apple.com/search?media=music&entity=song&term=test") 
    dataTask = defaultSession.dataTask(with: url! as URL) { 
     data, response, error in 

     if let error = error { 
      print(error.localizedDescription) 
     } else if let _ = response as? HTTPURLResponse { 
      print("ok") 
     } 
    } 
    dataTask?.resume() 

我禁用我的互联网连接执行该代码。在iOS9中,completionBlock被立即调用,并且出现此错误

错误域= NSURLErrorDomain代码= -1009“Internet连接似乎处于脱机状态。

但是,当我iOS10下执行完全相同的代码完成块被一分钟(超时)和我有错误后,称的上是不同的

错误域= NSURLErrorDomain代码= - 1001“请求超时。”

我需要在iOS9和iOS10下具有相同的行为。我使用的是xCode 8.1,我使用模拟器在不同的iOS版本下测试应用程序。

谢谢!

+1

似乎是与模拟器有关的问题,因为在设备上工作正常。 –

回答

-1

用于检查连接,你可以在github

它就像一个魅力的使用可达性类。

相关问题