您的位置:首页 > 理论基础 > 计算机网络

iphone 判断当前网络状态

2012-07-27 14:42 295 查看
1、添加 framework:

将 SystemConfiguration.framework 添加进工程。

2、下载 http://download.csdn.net/detail/svrsimon/4458137

复制里面的 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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: