首页 > 移动平台 > 详细

iOS 网络判定

时间:2014-09-30 14:28:39      阅读:208      评论:0      收藏:0      [点我收藏+]

 

由于流量精灵需要在 蜂窝数据或者3G 环境下进行流量监控因此需要判定3G 环境

将 SystemConfiguration.framework 添加进工程:

bubuko.com,布布扣
引入头文件
#import <SystemConfiguration/SystemConfiguration.h>
//-判断当前网络是否可用

+(BOOL) isNetworkEnabled

{

    BOOL bEnabled = FALSE;

    NSString *url = @"www.baidu.com";

    SCNetworkReachabilityRef ref =SCNetworkReachabilityCreateWithName(NULL, [urlUTF8String]);

    SCNetworkReachabilityFlags flags;

    

    bEnabled = SCNetworkReachabilityGetFlags(ref, &flags);

    

    CFRelease(ref);

    if (bEnabled) {

//        kSCNetworkReachabilityFlagsReachable:能够连接网络

//        kSCNetworkReachabilityFlagsConnectionRequired:能够连接网络,但是首先得建立连接过程

//        kSCNetworkReachabilityFlagsIsWWAN:判断是否通过蜂窝网覆盖的连接,比如EDGE,GPRS或者目前的3G.主要是区别通过WiFi的连接。

        BOOL flagsReachable = ((flags &kSCNetworkFlagsReachable) != 0);

        BOOL connectionRequired = ((flags &kSCNetworkFlagsConnectionRequired) != 0);

        BOOL nonWiFi = flags &kSCNetworkReachabilityFlagsTransientConnection;

        bEnabled = ((flagsReachable && !connectionRequired) || nonWiFi) ? YES : NO;

    }

    

    return bEnabled;

}

 

当作记录吧

iOS 网络判定

原文:http://www.cnblogs.com/kingbo/p/4001838.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!