title: URLSession dataTask timeout error
body: <p>I am currently experiencing some issues regarding the URLSession, while trying to post data to my web server. This however, works perfectly. What seems to not work, is the timeout I have set. This is rather crucial for my whole app, as I don't want the users to be 'loading' forever, without any type of error message. Here is my code:</p>
  
  <pre><code>var request = URLRequest(url: URL(string: "https://www.mywebsite.com/file.php")!, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 20)
  
  let urlconfig = URLSessionConfiguration.default
  urlconfig.timeoutIntervalForRequest = 20
  urlconfig.timeoutIntervalForResource = 20
  
  request.httpMethod = "POST"
  let session = URLSession(configuration: urlconfig, delegate: self, delegateQueue: nil)//URLSession.shared
  let body = "receiver=\(receiverID)"
  request.httpBody = body.data(using: String.Encoding.utf8, allowLossyConversion: true)
  request.timeoutInterval = 20
  
  session.dataTask(with: request) {data, response, err in
      if err == nil {
          do {
              let jsonResult:NSDictionary? =  try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary
              let jsonComp = jsonResult?.value(forKey: "completion") as! String
              if jsonComp == "done" {
              } else {
              }
          }catch{}
      } else {
      }
  }.resume()
  </code></pre>
  
  <p>I simply want to set the timeout to 20 seconds, and then return an error (an alert). How can I do this? I feel that I have tried everything possible, just by configuration the <code>URLSessionConfiguration</code>, and set the <code>.timeoutInterval</code>.</p>
  
  <p>Help would be greatly appreciated!</p>