Swift4 manager.delegate.sessionDidReceiveChallenge -> Swift5
Я собираюсь задать следующий вопрос. Из-за устаревших библиотек мне пришлось перейти на версию Alamofire (~> 5.0). Что ж, это изменение повлияло на всю логику проекта, которую я пытаюсь адаптировать... и, прежде всего, я обнаружил эту проблему... Я нашел несколько отчетов, связанных с этой темой. Но я не могу найти способ адаптировать эту логику. Рекомендации по адаптации?
func acceptInvalidSSLCerts() {
let manager = Alamofire.SessionManager.default
manager.delegate.sessionDidReceiveChallenge = { session, challenge in
var disposition: URLSession.AuthChallengeDisposition = .performDefaultHandling
var credential: URLCredential?
if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust {
disposition = .useCredential
credential = URLCredential(trust: challenge.protectionSpace.serverTrust!)
} else {
if challenge.previousFailureCount > 0 {
disposition = .cancelAuthenticationChallenge
} else {
credential = manager.session.configuration.urlCredentialStorage?.defaultCredential(for: challenge.protectionSpace)
if credential != nil {
disposition = .useCredential
}
}
}
return (disposition, credential)
}
}
}