这里有很多关于在应用程序中寻找活动互联网连接的问题,但如果你使用的是3g连接,没有数据信用,或者如果你在酒店的WiFi网络上,自动跳转到登录页面,而你还没有输入密码,那么这些问题都不起作用。那种情况。
检查互联网连接是否正常工作的最快方法是什么?
发布于 2015-09-06 19:19:48
您可以在AFNetworking中使用AFNetworkReachabilityManager类。
https://github.com/AFNetworking/AFNetworking
上面的链接将帮助你设置一些东西。根据您的需求,为您提供不间断的网络检查。下面是几行代码:
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
}];
[[AFNetworkReachabilityManager sharedManager] startMonitoring];发布于 2015-09-06 17:44:54
完成此任务的最佳方法是创建一个NSURL并尝试从其中接收数据,而不是使用Reachability或任何其他API。对于不好的连接,我添加了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;
}
}这将检查特定网站是否可访问,并设置表示网络连接缓慢的超时。
这段代码可能有错误,因为我还没有使用过/尝试过它!注释此答案(如果有)。
https://stackoverflow.com/questions/32422013
复制相似问题