当我关闭 WiFi 连接并在 iPhone 6s 10.2 模拟器上运行以下代码时,回调永远不会执行。我预计回调会很快触发,并出现“无 Internet 连接”之类的错误。
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];
我的问题
当应用程序首次加载时,我正在获取数据。如果wifi被关闭,我需要显示一个错误。如果我设置了超时,它会被遵守 - 但它需要超过 10 秒,我不想让他们等待。我也尝试通过可达性检测网络状态,但网络状态通常是unknown
在应用程序首次加载时。