首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查iOS设备的互联网连接是否正常

检查iOS设备的互联网连接是否正常
EN

Stack Overflow用户
提问于 2015-09-06 17:30:34
回答 2查看 576关注 0票数 4

这里有很多关于在应用程序中寻找活动互联网连接的问题,但如果你使用的是3g连接,没有数据信用,或者如果你在酒店的WiFi网络上,自动跳转到登录页面,而你还没有输入密码,那么这些问题都不起作用。那种情况。

检查互联网连接是否正常工作的最快方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-09-06 19:19:48

您可以在AFNetworking中使用AFNetworkReachabilityManager类。

https://github.com/AFNetworking/AFNetworking

上面的链接将帮助你设置一些东西。根据您的需求,为您提供不间断的网络检查。下面是几行代码:

代码语言:javascript
复制
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
}];

[[AFNetworkReachabilityManager sharedManager] startMonitoring];
票数 0
EN

Stack Overflow用户

发布于 2015-09-06 17:44:54

完成此任务的最佳方法是创建一个NSURL并尝试从其中接收数据,而不是使用Reachability或任何其他API。对于不好的连接,我添加了20秒的超时

像这样:

代码语言:javascript
复制
- (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;
    }
}

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

这段代码可能有错误,因为我还没有使用过/尝试过它!注释此答案(如果有)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32422013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档