NSURLSession dataTaskForRequest:completion: unrecognized selector sent to instance

Alexey picture Alexey · Oct 2, 2015 · Viewed 9.8k times · Source

When trying to create my own session object NSURLSession() and request an url I get an unrecognized selector exception but when I use the shared session NSURLSession.sharedSession() everything works fine. How come?

var url = NSURL(string: "http:/www.google.com")
if url != nil {
    //throws unrecognized selector when dataTaskWithURL is called
    let session=NSURLSession()
    session.dataTaskWithURL(url!)

   //works
    let sharedSession=NSURLSession.sharedSession()
    sharedSession.dataTaskWithURL(url!)
}

Answer

Arsen picture Arsen · Oct 2, 2015

You have to init URLSession with a configuration:

URLSession(configuration: .default)

or use shared session

URLSession.shared