Set timeout in Alamofire Set timeout in Alamofire ios ios

Set timeout in Alamofire


Please Try this:-

    let request = NSMutableURLRequest(url: URL(string: "")!)    request.httpMethod = "POST"    request.setValue("application/json", forHTTPHeaderField: "Content-Type")    request.timeoutInterval = 10 // 10 secs    let values = ["key": "value"]    request.httpBody = try! JSONSerialization.data(withJSONObject: values, options: [])    Alamofire.request(request as! URLRequestConvertible).responseJSON {        response in        // do whatever you want here    }


I have same problem too, I think I found the solution. Try to declare SessionManager?or in your case alamofireManager in class, outside the function

class ViewController: UIViewController {   var alamoFireManager : SessionManager? // this line   func alamofire(){        let configuration = URLSessionConfiguration.default        configuration.timeoutIntervalForRequest = 10        configuration.timeoutIntervalForResource = 10        alamoFireManager = Alamofire.SessionManager(configuration: configuration) // not in this line        alamoFireManager.request("my_url", method: .post, parameters: parameters).responseJSON { response in        switch (response.result) {        case .success:                 //Success....            break        case .failure(let error):               // failure...             break       }     }   }}


Alamofire 5.1 includes a new way to modify the request with a closure in the initializer:

AF.request(url) { $0.timeoutInterval = 60 }    .validate()    .response { _ in // handle response here }