AFNetworkReachabilityManager检查网络状态

1、开启监听    [[AFNetworkReachabilityManager sharedManager] startMonitoring];

2、[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case AFNetworkReachabilityStatusNotReachable:{

                NSLog(@"无网络");

                break;

            }

            case AFNetworkReachabilityStatusReachableViaWiFi:{

                NSLog(@"WiFi网络");

                break;

            }

            case AFNetworkReachabilityStatusReachableViaWWAN:{

                NSLog(@"无线网络");

                break;

            }

            default:

                break;

        }

    }];

#define kNetworkNotReachability ([AFNetworkReachabilityManager sharedManager].networkReachabilityStatus <= 0)  //无网

如果启动就去检测 建议延时调用

 eg:[self performSelector:@selector(login:) withObject:nil afterDelay:0.35f];

由于检测网络有一定的延迟,所以如果启动app立即去检测调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus 有可能得到的是status == AFNetworkReachabilityStatusUnknown;但是此时明明是有网的,建议在收到监听网络状态回调以后再取[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。