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)
    }
}

}

0 ответов

Другие вопросы по тегам