iOS网络监测如何区分2、3、4G?
来源:互联网 发布:哥伦比亚 知乎 编辑:程序博客网 时间:2024/04/29 06:08
首先,引入系统的Reachability类,不知道怎么引入的话,在Xcode,按下shift+command+0,搜索Reachability,看到图中所选的工程下载即可。
并导入相关.h文件
#import<CoreTelephony/CTTelephonyNetworkInfo.h>
引入后,Reachability.h文件里面修改NetworkStatus的枚举,
typedef enum : NSInteger { NotReachable = 0, ReachableViaWiFi, ReachableViaWWAN, kReachableVia2G, kReachableVia3G, kReachableVia4G} NetworkStatus;
在修改下Reachability.m文件
找到
- (NetworkStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags
修改下面的代码
if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == kSCNetworkReachabilityFlagsIsWWAN) {if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { CTTelephonyNetworkInfo * info = [[CTTelephonyNetworkInfo alloc] init]; NSString *currentRadioAccessTechnology = info.currentRadioAccessTechnology; if (currentRadioAccessTechnology) { if ([currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { returnValue = kReachableVia4G; } else if ([currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge] || [currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]) { returnValue = kReachableVia2G; } else { returnValue = kReachableVia3G; } return returnValue; } } if ((flags & kSCNetworkReachabilityFlagsTransientConnection) == kSCNetworkReachabilityFlagsTransientConnection) { if((flags & kSCNetworkReachabilityFlagsConnectionRequired) == kSCNetworkReachabilityFlagsConnectionRequired) { returnValue = kReachableVia2G; return returnValue; } returnValue = kReachableVia3G; return returnValue; } returnValue = ReachableViaWWAN; }
如何使用?
在AppDelegate里加入
Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass: [Reachability class]]); NetworkStatus status = [curReach currentReachabilityStatus]; switch (status) { case NotReachable: break; case ReachableViaWiFi: case ReachableViaWWAN: break; case kReachableVia2G: break; case kReachableVia3G: break; case kReachableVia4G: break; }
0 0
- iOS网络监测如何区分2、3、4G?
- iOS网络监测如何区分2、3、4G?
- iOS网络监测如何区分2、3、4G?
- iOS网络监测如何区分2、3、4G、wifi?
- iOS网络监测如何区分2、3、4G?
- iOS 网络监测如何区分2、3、4G wifi
- iOS网络监测如何区分2、3、4G(Reachability)
- ios网络开发区分2G/3G/4G/WIFI/无网络
- iOS获取网络状态,区分2G、3G、4G、WIFI,非reachability
- GPRS 区分2g/3g/4g网络
- iOS app网络监测,WiFi,4g,无网络,其他
- IOS判断当前网络连接类型(可区分2G和3G)
- 根据状态栏获取网络状态,区分2G、3G、4G、WIFI
- 区分2、3、4G
- ios 确认网络环境3G/WIFI,网络状态监测的总结
- ios 确认网络环境3G/WIFI,网络状态监测的总结
- IOS判断运营商网络类型2G/3G/4G/WIFI/是否有网络
- iOS - 检测当前网络状态 - 无网络/2G/3G/4G/WIFI
- myeclipse10破解找不到common文件夹的问题
- arcengine 两地图进行联动
- QT 串口通信
- errors running builder 'checkstyle builder' on project 解决
- java基本概念
- iOS网络监测如何区分2、3、4G?
- PowerDesigner删除外键关系,而不删除外键列
- RDD初探
- 乔布简历:谁说我只是个简历模板库?
- Linux进程管理
- EditText 在代码中动态设置hint字体大小
- 网络素养公开课笔记(五)
- 第十二周项目二摩托车继承自行车和机动车
- MyISAM和InnoDB索引实现对比