使用Reachability实时监测网络

1.从官网出下载Reachability.h/m文件,拖入工程
https://developer.apple.com/library/ios/samplecode/Reachability/Listings/Reachability_Reachability_m.html

2.调用Reachability.h头文件,并创建全局变量Reachability *internetReachability;

3.在AppDelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中创建通知

 //添加一个系统通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
    //初始化
    internetReachability=[Reachability reachabilityForInternetConnection];
    //通知添加到Run Loop
    [internetReachability startNotifier];
    [self updateInterfaceWithReachability:internetReachability];

4.实现通知方法

- (void) reachabilityChanged:(NSNotification *)note
{
    Reachability* curReach = [note object];
    NSParameterAssert([curReach isKindOfClass:[Reachability class]]);
    [self updateInterfaceWithReachability:curReach];
}

5.监测网络状态方法

- (void)updateInterfaceWithReachability:(Reachability *)reachability
{
    NetworkStatus netStatus = [reachability currentReachabilityStatus];
    switch (netStatus) {
        case NotReachable:
            NSLog(@"====当前网络状态不可用=======");
            break;
        case ReachableViaWiFi:
            NSLog(@"====当前网络状态为Wifi=======");
            break;
        case ReachableViaWWAN:
            NSLog(@"====当前网络状态为流量=======keso");
            break;
    }
}

注:
1.此方法能监测所有页面的网络状态,可是要在当前页面获取当前网络状态则需要使用AFNetWorking,如果不嫌麻烦那就一个一个写.
2.如果有更好的方法请留言,谢谢.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在项目中实现网络的实时监测有两种方式:一种是采用第三方网络请求的网络检测方法,一种是使用OC自带的网络检测方法。我...
    胖胖的立阅读 1,239评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,198评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,276评论 4 61
  • 一、说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一...
    SmilePast丶阅读 4,796评论 0 1
  • 前言 最近把hexo博客的主题从Maupassant换成了next,原因大概就是Maupassant的主题太简洁了...
    白吟灵阅读 671评论 0 1