Проблема в том, что didCompleteWithError сообщает только об ошибке на стороне клиента, в противном случае это ноль. Документ iOS сказал:
"Сообщения об ошибках сервера не передаются с помощью параметра error. Единственные ошибки, которые ваш делегат получает с помощью параметра error, – это ошибки на стороне клиента, например невозможность разрешить имя хоста или подключиться к хосту. ."
Это ссылка на документацию. .
Если вы хотите проверить ошибки сеанса, вам необходимо реализовать делегат протокола сеанса
- URLSession:didBecomeInvalidWithError:
Не забудьте аннулировать сеанс после прекращения его использования. Итак, если вы создадите NSURLSession следующим образом:
NSURLSessionConfiguration *backgroundConfigurationObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"applycasession"];
self.backgroundSession = [NSURLSession sessionWithConfiguration:backgroundConfigurationObject delegate:self delegateQueue:[NSOperationQueue mainQueue]];
Когда вы закончите использовать его, вы должны позвонить:
[self.backgroundSession invalidateAndCancel];
Прочтите документы о «Жизненный цикл сеанса URL» по адресу ссылка
person
christian mini
schedule
15.05.2016