iOS 获取网络状态(包含iphone X /XR/Xs)
使用苹果自带的:Reachability
定义网络类别枚举类型
// 网络类别枚举类型
typedef NS_ENUM(NSUInteger, NetWorkType) {NetWorkTypeNone = 0, // 无网NetWorkType2G = 1, // 2GNetWorkType3G = 2, // 3GNetWorkType4G = 3, // 4GNetWorkTypeWiFI = 5, // wifi
};
获取网络类型
+ (NSString *) getConnectionType{Reachability *reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];NetworkStatus internetStatus = [reachability currentReachabilityStatus];NSString *net = @"无网络";switch (internetStatus) {case ReachableViaWiFi:net = @"WIFI";break;case ReachableViaWWAN:net = [self getNetType]; //判断具体类型break; case NotReachable:net = @"无网络";default:break;}return net;
}
+ (NSString *)getNetType
{CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];NSString *currentStatus = info.currentRadioAccessTechnology;NSString *netconnType;if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyGPRS"]) {netconnType = @"GPRS";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyEdge"]) {netconnType = @"2.75G EDGE";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyWCDMA"]){netconnType = @"3G";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSDPA"]){netconnType = @"3.5G HSDPA";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSUPA"]){netconnType = @"3.5G HSUPA";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMA1x"]){netconnType = @"2G";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORev0"]){netconnType = @"3G";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevA"]){netconnType = @"3G";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevB"]){netconnType = @"3G";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyeHRPD"]){netconnType = @"HRPD";}else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyLTE"]){netconnType = @"4G";}return netconnType;
}
导入文件Reachability.h Reachability.m
链接: https://pan.baidu.com/s/1Vn-W80RCb10odXkYUbk2zg 提取码: vu3x 复制这段内容后打开百度网盘手机App,操作更方便哦
iOS 获取网络状态(包含iphone X /XR/Xs)相关推荐
- iOS 获取网络状态
在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{UIApplication *app = [UIApplication sharedApplicati ...
- iOS13 获取StatusBar并且获取网络状态
获取StatusBar 项目中通过StatusBar来获取手机当前状态,但是在iOS 13中便获取不到了,调试了一下发现是UIApplication无法获取到statusBar. UIApplicat ...
- 微信小程序 --- 获取网络状态
获取网络状态:wx.getNetworkType btnclick:function(){wx.getNetworkType({success:function(res){console.log(re ...
- iOS 获取网络时间
iOS 获取网络时间 也许你会因为当前手机时间不准确而导致自己的程序在使用时间上出现一些问题,那么下面这块代码也许会帮到你,实用的百度服务器的时间,如果没网络会使用系统默认时间! /*** 获取网络当 ...
- ios获取网络请求失败相关数据
ios获取网络请求失败相关数据 很多时候和后台处理数据的时候很多时候后台会在网络请求失败的某些不同情况下带回不同的数据这个时候如何获取数据及拿到需要处理的数据: //如果请求失败 对象是NSURLSe ...
- Android获取网络状态
前言:在开发安卓移动端时,几乎每一个app都需要连接网络,因此,对设备的网络状态检测是很有必要的!比如:检测当前网络是否可用,当前可用的网络是属于WIFI还是MOBILE等等. 实现步骤流程: 1 . ...
- 微信小程序获取网络状态
wx.getNetworkType(Object object) 获取网络类型 wx.getNetworkType({success (res) {const networkType = res.ne ...
- iOS 检测网络状态
一般有两种方式,都是第三方的框架,轮子嘛,能用就先用着,后面再优化. 一:Reachability 1.首先在AppDelegate.h添加头文件"Reachability.h", ...
- uniapp 获取网络状态_uni-app 获取网络状态
uni.getNetworkType(OBJECT) 获取网络类型. OBJECT 参数说明 参数名 类型 必填 说明 success Function 是 接口调用成功,返回网络类型 network ...
最新文章
- python练习:猜价钱小游戏
- python3.8.2安装教程-在服务器上安装python3.8.2环境
- 【图像算法】图像特征:GLCM灰度共生矩阵纹理特征
- mybatis No enum const class org.apache.ibatis.type.JdbcType.Integer
- 总结几个字符串类的动态规划(最长公共子串,回文子串,子序列)
- vSphere 7融合Kubernetes,构建现代化应用的平台
- cocos2d-x 通过JNI实现c/c++和Android的java层函数互调 .
- 《linux核心应用命令速查》连载十一:pstree:显示进程状态树
- 牛逼!Intellij IDEA竟然有个功能可自动生成代码,你用过没?
- 艰难时局下电子发现蓬勃发展
- tensorflow安装中踩到的坑protobuf、h5py、tensorboard、werkzeug
- Halcon教程九:把Halcon程序放到C#程序里
- 小米笔记本Pro黑苹果10.15.2不需要外焊USB接蓝牙,完美支持airdrop、接力、随航
- scratch成绩查询 电子学会图形化编程scratch等级考试四级真题和答案解析2022年6月
- 华为数通笔记-MPLS BGP跨域
- ios 扇形 按钮_iOS 饼状图(扇形图)动画效果的实现
- 大数据开发岗位的几个方向
- python 关于元组的一些写法
- 掌握typora使用方法
- 全国大学生网络安全精英赛复赛笔记