Obecnie próbuję zmienić mój kod z wykorzystaniem NSURLConnection na NSURLSession. Jedną z rzeczy, które mnie mylą, jest uwierzytelnianie.Swift NSURLSession i uwierzytelnianie
Moja usługa, z którą próbuję się połączyć, jest uwierzytelniana w sposób podstawowy.
W moim poprzednim kodzie miałem następującą metodę poprzez wdrożenie protokołu NSURLConnectionDataDelegate:
func connection(connection:NSURLConnection!, willSendRequestForAuthenticationChallenge challenge:NSURLAuthenticationChallenge!) {
if challenge.previousFailureCount > 1 {
} else {
let creds = NSURLCredential(user: usernameTextField.text, password: passwordTextField.text, persistence: NSURLCredentialPersistence.None)
challenge.sender.useCredential(creds, forAuthenticationChallenge: challenge)
}
}
Teraz siedzę.
- Czy muszę wprowadzić NSURLSessionDelegate.didReceiveChallenge?
- Jeśli tak, w jaki sposób postępować z procedurą obsługi zakończenia?
w Apple Developer Reference znalazłem następującą linię pod didReceiveChallenge
Jeśli nie wdrożenie tej metody, sesja nazywa swojego delegata za URLSession: Zadanie: didReceiveChallenge: completionHandler: zamiast metody.
Co to oznacza?