iOS 判断当前网络状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 判断当前网络状态相关的知识,希望对你有一定的参考价值。

1.如果只判断当前是否是无网的状态:

if([Reachability reachabilityForLocalWiFi].currentReachabilityStatus==NotReachable&&[[Reachability reachabilityForInternetConnection] currentReachabilityStatus]==NotReachable)

{

  //没网的操作

}else

{

  //有网的操作

}

2.监听网络状态的改变

导入头文件 

#import "Reachability.h"

 

//注册通知

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

    self.conn = [Reachability reachabilityForInternetConnection];

    [self.conn startNotifier];

(以上代码的conn是Reachability对象)

- (void)networkStateChange:(NSNotification *)note

{

    // 通过通知对象获取被监听的Reachability对象

    Reachability *curReach = [note object];

    // 获取Reachability对象的网络状态

    NetworkStatus status = [curReach currentReachabilityStatus];

    if (status == ReachableViaWWAN)

    {

        NSLog(@"3G在线");

    }else if (status == ReachableViaWiFi)

    {

        NSLog(@"WIFI在线");

    }else if (status == NotReachable)

    {

        NSLog(@"没网");

    }

}

 

以上是关于iOS 判断当前网络状态的主要内容,如果未能解决你的问题,请参考以下文章

利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

Android检测网络状态,判断当前网络是否可用

iOS完美的网络状态判断工具

iOS完美的网络状态判断工具

iOS开发-关于网络状态的判断

iOS开发——Reachability和AFNetworking判断网络连接状态