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

时间:2015-09-06 09:30:34

标签: ios network-programming

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

检查互联网连接是否真正可用的最快方法是什么?

2 个答案:

答案 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;
    }
}

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

此代码可能有错误,因为我尚未使用/尝试过它!如果有,请评论此答案。