检查iOS设备的互联网连接是否确实有效

这里有很多关于在应用程序中查找活动互联网连接的问题,但如果您使用3g连接并且没有数据信用,或者如果您在自动重定向到酒店的酒店的WiFi网络上,则无法正常工作登录页面,您还没有输入密码。 那种情况。

检查互联网连接是否实际运行的最快方法是什么?

您可以在AFNetworking中使用AFNetworkReachabilityManager类。

https://github.com/AFNetworking/AFNetworking

以上链接将帮助您进行设置。 这将根据您的要求为您提供持续的网络检查。 这里有几行代码:

[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status)); }]; [[AFNetworkReachabilityManager sharedManager] startMonitoring]; 

实现此目的的最佳方法是,不使用Reachability或任何其他API,方法是创建NSURL并尝试从中接收数据。 对于错误的连接,我添加了20秒的超时

喜欢:

 - (void)checkConnection //Run this on a side queue, never on a main queue { NSURL *checkURL = [NSURL URLWithString:@"http://www.apple.com"]; NSURLRequest *lRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:checkURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0]; NSData *data = [NSData dataWithContentsOfURL:lRequest]; if (data) { connected = YES; } else { connected = NO; } } 

这将检查特定网站是否可访问并设置超时,表示网络连接速度较慢。

这段代码可能有错误,因为我还没有使用/试过它! 如果有的话,请评论这个答案。