iOS 记录之 获取网络类型 (2G、3G、4G、WIFI)

本文记录了如何在iOS中获取详细的网络类型,包括2G、3G、4G和WIFI。通过改造官方的Reachability示例代码,结合CoreTelephony库,可以获取到更精确的网络信息。同时讨论了通过状态栏获取网络信息的方案,但最终选择了使用Reachability改造版,因为它更适合没有隐藏状态栏的界面,并且避免了实时监听网络切换的复杂性。
摘要由CSDN通过智能技术生成

阐述

One Team,One Style。 新产品团队着实让我们费了老大劲,有些东西看似简单,但真正实现下来还是需要下一番功夫。此版本搞了一个阅读状态器,里面包含电池信息、网络类型等设备相关信息。网络类型蜂窝相关的如果不细拆分 (2G、3G、4G) 则感觉并不那么费劲,毕竟官方已经给出了相关Demo。不过,在产品团队要求下还是做精做细,故记录一下整个功能探坑历程。

记录

0 调研

Sche 1 

官方提供的 Reachability(官方) 构件可以供我们使用。 但其只是草草的返回了蜂窝类型WWAN,至于内部具体的细分… 自己动手改造吧。

Sche 2

通过设备状态栏来获取相关设备信息,简单方便。不过… 心里有点不踏实。

1 实现

Sche 1 Reachability (改造版)

官方提供的 Reachability 构件,使用 SystemConfiguration.framework 库来获取当前设备的 SCNetworkReachabilityFlags 标识符,并对标识符进行匹配,从而得到当前设备的大致网络类型。(NotReachable、ReachableViaWiFi、ReachableViaWWAN)

在此基础上,我引入 CoreTelephony.framework 库来细分 ReachableViaWWAN 下的网络类型。

CoreTelephony 库下的 CTTelephonyNetworkInfo 类存储了当前设备蜂窝网络的详细信息。

主要改写代码片段:

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值