• 关于网络状态监听实时,创建单例网络监测(非实时)


    #pragma mark 网络状态监测

    -(void)checkNetworkStatus{

        //创建一个用于测试的url

        NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];

        AFHTTPRequestOperationManager *operationManager=[[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];

        //根据不同的网络状态改变去做相应处理

        [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

            switch (status) {

                case AFNetworkReachabilityStatusReachableViaWWAN:

                    [self alert:@"2G/3G/4G Connection."];

                    break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                    [self alert:@"WiFi Connection."];

                    break;

                case AFNetworkReachabilityStatusNotReachable:

                    [self alert:@"Network not found."];

                    break;

                    

                default:

                    [self alert:@"Unknown."];

                    break;

            }

        }];

        

        //开始监控

        [operationManager.reachabilityManager startMonitoring];

    }

    -(void)checkNetworkStatus{

        //创建一个用于测试的url

        NSURL *url=[NSURL URLWithString:@"http://www.apple.com"];

        AFHTTPSessionManager * operationManager=[[AFHTTPSessionManager alloc]initWithBaseURL:url];

        

        //根据不同的网络状态改变去做相应处理

        [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

            switch (status) {

                case AFNetworkReachabilityStatusReachableViaWWAN:

    //                [self alert:@"2G/3G/4G Connection."];

                    [SVProgressHUD showSuccessWithStatus:@"2G/3G/4G Connection."];

                    

    //                DNLog(@"2G/3G/4G Connection.");

                    break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                    [SVProgressHUD showSuccessWithStatus:@"WiFi Connection."];

                    

    //                DNLog(@"WiFi Connection.");

                    

                    break;

                case AFNetworkReachabilityStatusNotReachable:

                    [SVProgressHUD showErrorWithStatus:@"Network not found."];

                    

    //                DNLog(@"Network not found.");

                   

                    break;

                    

                default:

                    [SVProgressHUD showErrorWithStatus:@"Unknown."];

                    

    //                DNLog(@"Unknown.");

                  

                    break;

            }

        }];

        

        //开始监控

        [operationManager.reachabilityManager startMonitoring];

    }

    /**************** 检测网络状态,并返回无网络状太****************/

    要导入头文件

    + (BOOL)netWorkStateFalse {

        

    //     Reachability* reach = [Reachability reachabilityWithHostname:@"www.baidu.com"];

    //     [reach startNotifier];

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

    }

  • 相关阅读:
    前端开源项目周报0408
    iOS开源项目周报0406
    安卓开源项目周报0405
    iOS开源项目周报0330
    安卓开源项目周报0329
    前端开源项目周报0328
    vue项目搭建
    微信中h5页面用window.history.go(-1)返回上一页页面不会重新加载问题
    h5移动端页面meta标签
    js中break跳出多层循环
  • 原文地址:https://www.cnblogs.com/soulDn/p/5336600.html
Copyright © 2020-2023  润新知