Я использую Alamofire 4.0.1 и Я хочу установить тайм-аут для моего запроса. Я пробовал решения, полученные в этом question:
В первом случае он выдает NSURLErrorDomain (время ожидания установлено правильно):
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10
let sessionManager = Alamofire.SessionManager(configuration: configuration)
sessionManager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
.responseJSON {
response in
switch (response.result) {
case .success:
//do json stuff
break
case .failure(let error):
if error._code == NSURLErrorTimedOut {
//timeout here
}
print("\n\nAuth request failed with error:\n \(error)")
break
}
}
Во втором случае тайм-аут не заменяется и все равно устанавливается на 60 секунд.
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 10
manager.request("yourUrl", method: .post, parameters: ["parameterKey": "value"])
Я работаю в ios 10.1
Мой код: (он не работает)
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10 // seconds
configuration.timeoutIntervalForResource = 10
let alamoFireManager = Alamofire.SessionManager(configuration: configuration)
alamoFireManager.request("my_url", method: .post, parameters: parameters).responseJSON { response in
switch (response.result) {
case .success:
//Success....
break
case .failure(let error):
// failure...
break
}
}
Решенный поток github Alamofire: Alamofire 4.3.0 таймаут установки вызывает ошибку NSURLErrorDomain # 1931