NSURLSession completion block not called

前端 未结 6 826
天命终不由人
天命终不由人 2021-02-18 19:07
var session = NSURLSession.sharedSession()
session.dataTaskWithRequest(urlRequest, 
                            completionHandler: {(data: NSData!, 
                             


        
6条回答
  •  梦谈多话
    2021-02-18 19:36

    This is a fairly unique case, but if you're using a URLSession inside a unit test, you'll need to setup the expectations. Otherwise, your test case will end and it will appear that your request is never returning. Swift 3.0.1.

        let expect = expectation(description: "dataTaskWithRequest - completes")
    
        if let url = URL(string: "https://www.google.com/") {
    
            let request = URLRequest(url: url)
    
            URLSession.shared.dataTask(with: request) { ( data, response, error) in
    
                print(data.debugDescription)
                print(response.debugDescription)
                print(error.debugDescription)
    
                expect.fulfill()
    
            }.resume()
    
            waitForExpectations(timeout: 10, handler: nil)
        }
    

提交回复
热议问题