在iOS中检查互联网连接的最新有效方法是什么?

时间:2015-10-30 04:57:33

标签: ios objective-c reachability internet-connection

我想知道在iOS中检查互联网连接的最新和最有效的方法。在stackoverflow中大多数答案似乎已经过时了。我经历了REACHABILITY class。它工作正常。但我有一个问题

我有一个wifi连接,要求提供商有时登录。所以可达性类显示wifi连接可用,但互联网不可用。

所以,当我调用一个url时,我和url一起使用的activityIndi​​cator一直在旋转,我没有收到有关错误的回调。是否有修复?谢谢。

另外,你能解释一下这些究竟意味着什么吗?

@property (nonatomic) Reachability *hostReachability;
@property (nonatomic) Reachability *internetReachability;
@property (nonatomic) Reachability *wifiReachability;

喜欢什么是wifiReachability?是否连接到wifi?或者通过wifi可以上网?

修改 这就是我现在正在使用的。创建一个名为connectivity的类

#import "Connectivity.h"
#import "Reachability.h"
@implementation Connectivity
+(BOOL)checkConnectivity
{
    Reachability *reachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus networkStatus = [reachability currentReachabilityStatus];
    return networkStatus != NotReachable;
}
@end

这足以检查互联网连接吗?

1 个答案:

答案 0 :(得分:1)

以下是检查互联网连接的另一种非常简单的方法:

NSURL *scriptUrl = [NSURL URLWithString:@"http://www.google.com/m"];
NSData *data = [NSData dataWithContentsOfURL:scriptUrl];
if (data)
    NSLog(@"Device is connected to the internet");
else
    NSLog(@"Device is not connected to the internet");

希望这会有所帮助。