Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы основы ссылка на протокол NSURLSessionDelegate

Опции
Развертывание Target:

На этой странице
Язык:

NSURLSessionDelegate

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в iOS 7.0 и позже.

NSURLSessionDelegate протокол описывает методы это NSURLSession объекты обращаются к своим делегатам с просьбой обрабатывать события сеансового уровня. В дополнение к методам, определенным в этом протоколе, большинство делегатов должно также реализовать некоторых или все методы в NSURLSessionTaskDelegate, NSURLSessionDataDelegate, и NSURLSessionDownloadDelegate протоколы для обработки событий уровня задачи.

  • Говорит сеансу URL, что сеанс был лишен законной силы.

    Объявление

    Swift

    optional func URLSession(_ session: NSURLSession, didBecomeInvalidWithError error: NSError?)

    Objective C

    - (void)URLSession:(NSURLSession *)session didBecomeInvalidWithError:(NSError *)error

    Параметры

    session

    Лишенный законной силы объект сеанса.

    error

    Ошибка, вызвавшая аннулирование, или nil если аннулирование было явным.

    Обсуждение

    Если Вы лишаете законной силы сеанс путем вызова finishTasksAndInvalidate метод, сеанс ожидает до окончания заключительной задачи в концах сеанса или сбоях прежде, чем вызвать этот метод делегата. Если Вы вызываете invalidateAndCancel метод, сеанс сразу вызывает этот метод делегата.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Учетные данные запросов от делегата в ответ на запрос аутентификации сеансового уровня от удаленного сервера.

    Объявление

    Swift

    optional func URLSession(_ session: NSURLSession, didReceiveChallenge challenge: NSURLAuthenticationChallenge, completionHandler completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential!) -> Void)

    Objective C

    - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(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

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что были переданы все сообщения, ставившие в очередь для сеанса.

    Объявление

    Swift

    optional func URLSessionDidFinishEventsForBackgroundURLSession(_ session: NSURLSession)

    Objective C

    - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session

    Параметры

    session

    Сеанс, больше не имеющий выдающихся запросов.

    Обсуждение

    В iOS, когда фоновая передача завершает или требует учетных данных, если Ваше приложение больше не работает, Ваше приложение автоматически повторно запускается в фоновом режиме, и приложение UIApplicationDelegate отправляется application:handleEventsForBackgroundURLSession:completionHandler: сообщение. Этот вызов содержит идентификатор сеанса, заставившего Ваше приложение быть запущенным. Ваше приложение должно тогда сохранить тот обработчик завершения прежде, чем создать фоновый объект конфигурации с тем же идентификатором и создать сеанс с той конфигурацией. Недавно создаваемый сеанс автоматически повторно связан с продолжающимся фоновым действием.

    Когда Ваше приложение позже получает a URLSessionDidFinishEventsForBackgroundURLSession: сообщение, это указывает, что были переданы все сообщения, ранее ставившие в очередь для этого сеанса, и что теперь безопасно вызвать ранее сохраненный обработчик завершения или начать любые внутренние обновления, которые могут привести к вызову обработчика завершения.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.

  • Константы, переданные сеансом или задачей, делегируют к предоставленному блоку продолжения в ответ на запрос аутентификации.

    Объявление

    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, };

    Константы

    • UseCredential

      NSURLSessionAuthChallengeUseCredential

      Используйте указанные учетные данные, которые могут быть nil.

      Доступный в iOS 7.0 и позже.

    • PerformDefaultHandling

      NSURLSessionAuthChallengePerformDefaultHandling

      Используйте обработку значения по умолчанию для проблемы, как будто не был реализован этот метод делегата. Предоставленный учетный параметр проигнорирован.

      Доступный в iOS 7.0 и позже.

    • CancelAuthenticationChallenge

      NSURLSessionAuthChallengeCancelAuthenticationChallenge

      Отмените весь запрос. Предоставленный учетный параметр проигнорирован.

      Доступный в iOS 7.0 и позже.

    • RejectProtectionSpace

      NSURLSessionAuthChallengeRejectProtectionSpace

      Отклоните эту проблему и вызовите метод делегата аутентификации снова со следующим пространством защиты аутентификации. Предоставленный учетный параметр проигнорирован.

      Доступный в iOS 7.0 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 7.0 и позже.