我试图通过使用AFNetworking 2.0和"AFNetworkReachabilityManager"来确定用户是否连接到互联网,但它似乎无法正常工作.即使互联网已关闭,也始终返回有效的互联网连接.这是我的代码:
-(BOOL)connected {
__block BOOL reachable;
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"No Internet Connection");
reachable = NO;
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WIFI");
reachable = YES;
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"3G");
reachable = YES;
break;
default:
NSLog(@"Unkown network status");
reachable = NO;
break;
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
}
}];
return reachable;
}
Run Code Online (Sandbox Code Playgroud)
从我的viewDidLoad方法调用此方法.我的代码有问题吗,因为它不起作用?
我有互联网连接,可以浏览器浏览.
这里是我的代码检查Reachability用AFNetworking.
- (BOOL)connected {
return [AFNetworkReachabilityManager sharedManager].reachable;
}
Run Code Online (Sandbox Code Playgroud)
并在ViewDidLoad中
BOOL isOnline = [self connected];
if(isOnline == YES)
{
NSLog(@"YES");
}
else
{
NSLog(@"NO");
}
Run Code Online (Sandbox Code Playgroud)
它只显示NO,我不知道为什么会这样?
是否有检查最简单的方法Reachability有AFNetworking?