本文主要是给大家汇总介绍了iOS获取网络类型的方法,主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下,获取iOS网络状态,我目前知道的有两种办法,下面是给大家带来这两种方法的一个代码的演示,希望能够帮助到大家。
第一种方法:使用Reachability。
相信大家使用最多的方法就是使用Reachability,这也是苹果的官方演示demo中使用到的方法。
1、方法就是首先你需要下载并导入Reachability。这是苹果官方演示demo,把里面的Reachability文件拷贝到自己的工程文件里面。
2、下载好之后,接下里就是导入SystemConfiguration.framework框架。
3、我们来分析reachability中的代码的一个含义,可以看到以下三种网络状态:无网络,WiFi和蜂窝网,看到下面的代码显示:
[html]viewplaincopy
typedef enum : NSInteger {
NotReachable = 0,//没有网络
ReachableViaWiFi,//当前使用Wifi网络
ReachableViaWWAN//使用的蜂窝网络
} NetworkStatus;
4、获取网络状态的代码:
需要注意的是HostName改成其他中国网站时经常会获取网络状态错误,有时候是不能得到正确的网络状态。所以最好使用苹果的网站,这样出错的几率也算是少的,这种方法是目前最普遍的使用方式,由于是苹果官方demo,因此是比较权威。但是这种方法的缺点是不能知道用户使用的手机网络到底是2G、3G还是4G,这也是比较缺陷的一个地方。
再来看看第二种方法:
使用这种方法是通过监听手机的statusbar的状态还获取用户的网络状态,这可以是通过苹果的审核在appstore上架。这种方法是代码量非常小,简单易懂,最重要的是能区分2G、3G、4G、LTE,看到下图中的代码:
我们需要注意的是,当使用这种方法的时候一定要保证statusbar是没有隐藏的,如果你的App是隐藏了statusbar,那么你也就不能通过这种方法获得网络状态,这是根据自己的实际情况来做出选择。
以上是在iOS两种方法获取当前网络状态的方法,开发的时候需要注意的是,app中是否是隐藏了statusbar,总的来说,两种方法都不是特别的难,更多的是需要仔细的去研究发现。
¥179.00
¥398.00
¥98.00
¥199.00