Diese zweite Anforderung wird angezeigt, wenn Sie eine Authentifizierungsanforderung erhalten.
Sie können, wenn Sie wollen, einfach die Genehmigung Herausforderung ablehnen, die die zweite Anforderung stoppt:
:
[manager setTaskDidReceiveAuthenticationChallengeBlock:^NSURLSessionAuthChallengeDisposition(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLAuthenticationChallenge * _Nonnull challenge, NSURLCredential *__autoreleasing _Nullable * _Nullable credential) {
return NSURLSessionAuthChallengeCancelAuthenticationChallenge;
}];
Oder, wenn Sie im Voraus und authentifizieren gehen wollen, könnten Sie so etwas wie tun
[manager setTaskDidReceiveAuthenticationChallengeBlock:^NSURLSessionAuthChallengeDisposition(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLAuthenticationChallenge * _Nonnull challenge, NSURLCredential *__autoreleasing _Nullable * _Nullable credential) {
if (challenge.previousFailureCount == 0) {
*credential = [NSURLCredential credentialWithUser:self.user password:self.password persistence:NSURLCredentialPersistenceForSession];
return NSURLSessionAuthChallengeUseCredential;
}
return NSURLSessionAuthChallengeCancelAuthenticationChallenge;
}];
Alles hängt davon ab, wie Sie Benutzer auf Ihrem Webdienst authentifizieren.
Rob du bist der Retter ... Vielen Dank ... Ich gab NSURLSessionAuthChallengeUseCredential zurück, die stillschweigend eine weitere Anfrage machte .... aber nach dem Wechsel zur Zeilenrückgabe NSURLSessionAuthChallengeCancelAuthenticationChallenge funktionierte es großartig .... – lifemoveson