判断当前网络状态

1、添加 framework:
  将 SystemConfiguration.framework 添加进工程。
2、下载 http://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip
  复制里面的 Reachability.h 和 Reachability.m 到项目中
3、调用的代码:
  -(NSString*) GetCurrntNet{   

    NSString* result;   

    Reachability *r = [Reachability reachabilityWithHostName:@"www.apple.com"];   

    switch ([r currentReachabilityStatus]) {       

      caseNotReachable:    

      // 没有网络连接           

        result=nil;           

      break;       

      caseReachableViaWWAN:

      // 使用3G网络           

         result=@"3g";           

      break;       

      caseReachableViaWiFi:

      // 使用WiFi网络           

        result=@"wifi";           

      break;    }   

     return result;

  }
  以上代码在虚拟机中的模拟器上测试,有异常,难道测试网络联通不能使用模拟器?
  另外,不管是不是插着网线,模拟器的WIFI始终是连着的,不管电脑本身的网络是否断开(同样是在虚拟机中)

  +(BOOL) IsEnableWIFI { 
  //始终返回YES  

  return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);}

  而3G/GPRS始终是断开的

  + (BOOL) IsEnable3G {  
  //一直返回NO   

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

posted @ 2013-12-16 20:47  激情为梦想而生  阅读(154)  评论(0编辑  收藏  举报