IOS 监测网络状态

1.注册网络状态改变触发的监控方法。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netStateChanged:) name:kReachabilityChangedNotification object:nil];

    //先触发网络状态改变的方法

     _reach = [Reachability reachabilityWithHostName:@"http://www.baidu.com"];

    [_reach startNotifier];

   //网络状态方法改变触发下面检测的方法

    _reach = [Reachability reachabilityForInternetConnection];

    [_reach startNotifier];

2.在监控的方法里获取当前的网络状态,判断是哪一种网络。

-(void)netStateChanged:(NSNotification *)notification{

    NSString *tips;

    NetworkStates currentStates = [NetworkTool getNetworkStates];

    switch (currentStates) {

        case NetworkStatesNone:

            tips = @"当前无网络, 请检查您的网络状态";

            break;

        case NetworkStates2G:

            tips = @"切换到了2G网络";

            break;

        case NetworkStates3G:

            tips = @"切换到了3G网络";

            break;

        case NetworkStates4G:

            tips = @"切换到了4G网络";

            break;

        case NetworkStatesWIFI:

            tips = @"无线网";

            break;

        default:

            break;

    }

  }

你可能感兴趣的:(iOS)