Когда я отключаю соединение WiFi и запускаю следующий код на симуляторе iPhone 6s 10.2, обратный вызов никогда не выполняется. Я ожидал, что обратный вызов сработает довольно быстро с ошибкой типа «Нет подключения к Интернету».
NSLog(@"request-start");
NSURLRequest* request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:0];
task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"request-end");
}];
[task resume];
Моя проблема
Я получаю данные при первой загрузке приложения. Если Wi-Fi выключен, мне нужно показать ошибку. Если я устанавливаю тайм-аут, он соблюдается, но он должен составлять 10+ секунд, и я бы не стал заставлять их ждать. Я также пытался определить статус сети с помощью доступности, но статус сети часто равен unknown
при первой загрузке приложения.
defaultSessionConfiguration
иephemeralSessionConfiguration
и получил те же результаты - person bendytree   schedule 20.02.2017