Я использую Alamofire для вызова API. Вызов запроса каждый раз блокируется при успешном выполнении, но иногда при одном и том же запросе вызов блокируется при сбое с ошибкой:
"Сетевое соединение потеряно ".
Поскольку проблем с сетевым подключением нет, я не могу найти решение конкретной проблемы. Вот мой код-
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 120
manager.request(url, method: .post, parameters: requestDictionary ?? [:], encoding: JSONEncoding.default).responseJSON(completionHandler: { (response) in
switch response.result {
case .success:
KVNProgress.dismiss()
let jsonString: String = String(data: response.data!, encoding: String.Encoding.utf8)!
print(jsonString)
let dict : [String : Any ] = response.result.value! as! [String : Any]
let msg = dict["Message"] as? String
if msg == "Session id is not valid." {
//logout process…
}, onCancelClick: {
})
}else{
success(response.result.value! as AnyObject)
}
case .failure(let error):
KVNProgress.dismiss()
print("Request failed with error: \(error.localizedDescription)")
failure(“Unexpected error”)
}
})
Мой код находится внутри блока, где я уже проверил подключение к Интернету:
if(Utilities.checkInternetConnection())
{
// My previous code
}
else
{
connectionFailed(Constant.serverAPI.errorMessages.kNoInternetConnectionMessage)
}
Подробнее здесь: https://stackoverflow.com/questions/496 ... fail-error