你是否知道IOS获取网络的两种方法。

    作者:课课家教育更新于: 2019-03-19 10:50:07

      本文主要是给大家汇总介绍了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、获取网络状态的代码:

    你是否知道IOS获取网络的两种方法_ ios网络_wi-fi _4G _状态_移动开发_课课家

      需要注意的是HostName改成其他中国网站时经常会获取网络状态错误,有时候是不能得到正确的网络状态。所以最好使用苹果的网站,这样出错的几率也算是少的,这种方法是目前最普遍的使用方式,由于是苹果官方demo,因此是比较权威。但是这种方法的缺点是不能知道用户使用的手机网络到底是2G、3G还是4G,这也是比较缺陷的一个地方。

      再来看看第二种方法:

    获取网络

      使用这种方法是通过监听手机的statusbar的状态还获取用户的网络状态,这可以是通过苹果的审核在appstore上架。这种方法是代码量非常小,简单易懂,最重要的是能区分2G、3G、4G、LTE,看到下图中的代码:

      我们需要注意的是,当使用这种方法的时候一定要保证statusbar是没有隐藏的,如果你的App是隐藏了statusbar,那么你也就不能通过这种方法获得网络状态,这是根据自己的实际情况来做出选择。

      以上是在iOS两种方法获取当前网络状态的方法,开发的时候需要注意的是,app中是否是隐藏了statusbar,总的来说,两种方法都不是特别的难,更多的是需要仔细的去研究发现。

课课家教育

未登录