这里有很多关于在应用程序中查找活动互联网连接的问题,但是如果您使用3g连接并且没有数据信用,或者如果您在酒店的WiFi网络上,则无法正常工作重定向到登录页面,您还没有输入密码。那种情况。
检查互联网连接是否真正可用的最快方法是什么?
答案 0 :(得分:0)
您可以在 AFNetworking 中使用 AFNetworkReachabilityManager 类。
https://github.com/AFNetworking/AFNetworking
以上链接将帮助您设置内容。这将根据您的要求为您提供持续的网络检查。这里有几行代码:
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
}];
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
答案 1 :(得分:-1)
实现此目的的最佳方法是使用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;
}
}
这将检查特定网站是否可访问并设置超时,表示网络连接速度较慢。
此代码可能有错误,因为我尚未使用/尝试过它!如果有,请评论此答案。