NSURLSessionDelegate
NSURLSessionDelegate протокол описывает методы это NSURLSession объекты обращаются к своим делегатам с просьбой обрабатывать события сеансового уровня. В дополнение к методам, определенным в этом протоколе, большинство делегатов должно также реализовать некоторых или все методы в NSURLSessionTaskDelegate, NSURLSessionDataDelegate, и NSURLSessionDownloadDelegate протоколы для обработки событий уровня задачи.
Наследование
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Говорит сеансу URL, что сеанс был лишен законной силы.
Объявление
Swift
optional func URLSession(_session: NSURLSession, didBecomeInvalidWithErrorerror: NSError?)Objective C
- (void)URLSession:(NSURLSession *)sessiondidBecomeInvalidWithError:(NSError *)errorПараметры
sessionЛишенный законной силы объект сеанса.
errorОшибка, вызвавшая аннулирование, или
nilесли аннулирование было явным.Обсуждение
Если Вы лишаете законной силы сеанс путем вызова
finishTasksAndInvalidateметод, сеанс ожидает до окончания заключительной задачи в концах сеанса или сбоях прежде, чем вызвать этот метод делегата. Если Вы вызываетеinvalidateAndCancelметод, сеанс сразу вызывает этот метод делегата.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.9 и позже.
-
URLSession (_: didReceiveChallenge:completionHandler:) - URLSession:didReceiveChallenge:completionHandler:Учетные данные запросов от делегата в ответ на запрос аутентификации сеансового уровня от удаленного сервера.
Объявление
Swift
optional func URLSession(_session: NSURLSession, didReceiveChallengechallenge: NSURLAuthenticationChallenge, completionHandlercompletionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential!) -> Void)Objective C
- (void)URLSession:(NSURLSession *)sessiondidReceiveChallenge:(NSURLAuthenticationChallenge *)challengecompletionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandlerПараметры
sessionСеанс, содержащий задачу, запросившую аутентификацию.
challengeОбъект, содержащий запрос на аутентификацию.
completionHandlerОбработчик, который должен вызвать Ваш метод делегата. Его параметры:
disposition— Одна из нескольких констант, описывающая, как должна быть обработана проблема.credential— Учетные данные, которые должны использоваться для аутентификации, если расположениеNSURLSessionAuthChallengeUseCredential, иначеNULL.
Обсуждение
Этот метод вызывают в двух ситуациях:
Когда удаленный сервер просит клиентские сертификаты или Диспетчер локальной сети Windows NT (NTLM), чтобы аутентификация, позволила Вашему приложению обеспечивать надлежащие учетные данные
Когда сеанс сначала устанавливает соединение с удаленным сервером, использующим SSL или TLS, чтобы позволить Вашему приложению проверять цепочку сертификата сервера
Если Вы не реализуете этот метод, сеанс вызывает своего делегата
URLSession:task:didReceiveChallenge:completionHandler:метод вместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.9 и позже.
-
Константы, переданные сеансом или задачей, делегируют к предоставленному блоку продолжения в ответ на запрос аутентификации.
Объявление
Swift
enum NSURLSessionAuthChallengeDisposition : Int { case UseCredential case PerformDefaultHandling case CancelAuthenticationChallenge case RejectProtectionSpace }Objective C
typedef NS_ENUM (NSInteger, NSURLSessionAuthChallengeDisposition ) { NSURLSessionAuthChallengeUseCredential = 0, NSURLSessionAuthChallengePerformDefaultHandling = 1, NSURLSessionAuthChallengeCancelAuthenticationChallenge = 2, NSURLSessionAuthChallengeRejectProtectionSpace = 3, };Константы
-
UseCredentialNSURLSessionAuthChallengeUseCredentialИспользуйте указанные учетные данные, которые могут быть
nil.Доступный в OS X v10.9 и позже.
-
PerformDefaultHandlingNSURLSessionAuthChallengePerformDefaultHandlingИспользуйте обработку значения по умолчанию для проблемы, как будто не был реализован этот метод делегата. Предоставленный учетный параметр проигнорирован.
Доступный в OS X v10.9 и позже.
-
CancelAuthenticationChallengeNSURLSessionAuthChallengeCancelAuthenticationChallengeОтмените весь запрос. Предоставленный учетный параметр проигнорирован.
Доступный в OS X v10.9 и позже.
-
RejectProtectionSpaceNSURLSessionAuthChallengeRejectProtectionSpaceОтклоните эту проблему и вызовите метод делегата аутентификации снова со следующим пространством защиты аутентификации. Предоставленный учетный параметр проигнорирован.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.9 и позже.
-
