代码中判断网络类型的类别

Reachability 中定义了3种网络状态:

typedef enum {

    NotReachable = 0,  //无连接

    ReachableViaCarrierDataNetwork, //使用3G/GPRS网络

    ReachableViaWiFiNetwork  //使用WiFi网络

} NetworkStatus;

 

比如检测某一特定站点的接续状况,可以使用下面的代码:

 

Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”];

switch ([r currentReachabilityStatus]) {

    case NotReachable:

        // 没有网络连接

        break;

    case ReachableViaWWAN:

        // 使用3G网络

        break;

    case ReachableViaWiFi:

        // 使用WiFi网络

        break;

}

 

/ 是否wifi

+ (BOOL) IsEnableWIFI {

    return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);

}

 

// 是否3G

+ (BOOL) IsEnable3G {

    return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);

原文地址:https://www.cnblogs.com/angongIT/p/4415370.html