NSURLSession: How to increase time out for URL requests?

后端 未结 7 1431
粉色の甜心
粉色の甜心 2020-11-27 15:31

I am using iOS 7\'s new NSURLSessionDataTask to retrieve data as follows:

NSURLSession *session = [NSURLSession sharedSession];

NSURLSessionDat         


        
7条回答
  •  攒了一身酷
    2020-11-27 15:45

    In SWIFT 3.0, You need to use

     if let cleanURLString = urlString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed),
        let theURL: Foundation.URL = Foundation.URL(string: cleanURLString) {
    
        var task:URLSessionDataTask?
        let urlconfig = URLSessionConfiguration.default
        urlconfig.timeoutIntervalForRequest = 20
        urlconfig.timeoutIntervalForResource = 60
        let session = Foundation.URLSession(configuration: urlconfig, delegate: self, delegateQueue: OperationQueue.main)
    
        let request = URLRequest(url: theURL)
        request.httpMethod = "POST"
        request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringCacheData
        request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
        let paramString = YourParameterString
        request.httpBody = paramString.data(using: String.Encoding.utf8)
    
        task = session.dataTask(with: request) {
            (data, response, error) in
            // Do here
        })
        dataTask.resume()
    }
    

提交回复
热议问题