Reachability-阿里云开发者社区

开发者社区> 云计算> 正文

Reachability

简介:

一、Reachability中介绍了取得/检测网络状态的方法。

二、使用

    1、添加源文件:Reachability.h和Reachability.m

    2、添加framework———SystemConfiguration.framework

三、网络状态

    Reachability.h定义了三中网络状态

复制代码
 typedef enum{

        NotReachable = 0,   //无连接

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

        ReachableViaWWAN   //使用WiFi网络

        }NetworkStatus;
复制代码

 

 

因此可以这样检查网络状态

 

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

switch([r currentReachabilityStatus])

{

    case NotReachable:    //没有网络连接

       breakcase ReachableViaWWAN:  //使用3G网络连接

        break;

    case ReachableViaWiFi:    //使用WiFi网络

        break;

}
复制代码

 

四、检查当前网络环境

  // 是否wifi

    + (BOOL) IsEnableWIFI {
        return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
    }

 



    // 是否3G
   

  + (BOOL) IsEnable3G {
        return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
    }

 


    例子:

复制代码
    - (void)viewWillAppear:(BOOL)animated {    
    if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) && 
            ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
            self.navigationItem.hidesBackButton = YES;
            [self.navigationItem setLeftBarButtonItem:nil animated:NO];
        }
    }
复制代码

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章