ios 实时检测2G、3G、4G

转载 2015年07月08日 09:18:02

网络状态监听者:可监听2G/3G/4G !


框架截图 CUT

image




注意:默认程序没有反应,你需要在真机手动改变网络环境才能看到效果!!!



框架特性: FEATURE

1.基于苹果的Reachability封装。
2.对常用网络状态封装了简单API。
3.作为解耦的重要目的,本框架是其他很多重要Core框架的核心成员。
4.新增对2G、3G、4G网络检测支持。
5.增加实时检测,并屏蔽了注册通知及细节,直接使用即可,简单方便!




使用说明 USAGE

1.导入框架

    #import "CoreStatus.h"



2. 获取网络当前状态: 当前状态,非实时

    CoreNetWorkStatus currentStatus = [CoreStatus currentNetWorkStatus];

请注意当前状态是枚举,具体值如下:

    /** 网络状态 */
    typedef enum{

        /** 无网络 */
        CoreNetWorkStatusNone=0,

        /** Wifi网络 */
        CoreNetWorkStatusWifi,

        /** 蜂窝网络 */
        CoreNetWorkStatusWWAN,

        /** 2G网络 */
        CoreNetWorkStatus2G,

        /** 3G网络 */
        CoreNetWorkStatus3G,

        /** 4G网络 */
        CoreNetWorkStatus4G,

        /** 未知网络 */
        CoreNetWorkStatusUnkhow

    }CoreNetWorkStatus;



3.当前状态中文说明文字:

NSString * statusString = [CoreStatus currentNetWorkStatusString];



4.实时监控:注册监听

//调用一个方法即可
[CoreStatus beginNotiNetwork:self];

请注意这个方法需要一个遵循了CoreStatusProtocol协议的对象,一般控制器遵循此协议:然后请实现以下协议方法(optional):

    -(void)coreNetworkChangeNoti:(NSNotification *)noti;




    注意:当网络改变,此协议方法会自行触发,我传了通知数据给你,示例有打印通知内容。
    当然,最简单的获取当前实时状态的方法是使用上面的静态状态获取,即:

    -(void)coreNetworkChangeNoti:(NSNotification *)noti{
        //因为这些是实时,所以每次的静态状态就是当前实时状态,你也可以从noti中取
        CoreNetWorkStatus currentStatus = [CoreStatus currentNetWorkStatus];
    }



5.实时监控:移除监听

请特别注意:因为内部封装,所以你看不到监听过程,实际内部已经注册了通知。请注意用完需要关闭监听。比如控制器不可见需要关闭监听:

-(void)viewDidDisappear:(BOOL)animated{

    [super viewDidDisappear:animated];

    [CoreStatus endNotiNetwork:self];
}



6. 新增API:

    /** 是否是Wifi */
    +(BOOL)isWifiEnable;

    /** 是否有网络 */
    +(BOOL)isNetworkEnable;

    /** 是否处于高速网络环境:3G、4G、Wifi */
    +(BOOL)isHighSpeedNetwork;

相关文章推荐

iOS开发 - 检测网络状态(WIFI、2G/3G/4G)

检测网络状态在网络应用中,需要对用户设备的网络状态进行实时监控,目的是 让用户了解自己的网络状态,防止一些误会(比如怪应用无能) 根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WI...

Android如何检测网络的类型为3G、2G、wap、wifi

关于Android如何检测网络的类型,网上代码很多,但是有用的精品不多,前段时间,因为做项目需要涉及到具体网络类型的检查,特别是区分2G网络是为wap,还是net,类型,因为wap类型,需要配置代理上...

意法半导体推全球首款双核陀螺仪L3G4IS优化智能消费电子产品

横跨多重电子应用领域、全球领先的半导体供应商及全球第一大消费电子和便携式设备MEMS(微机电系统)供应商意法半导体 推出全球首款能够同时处理用户动作识别与相机图像稳定两大功能的双核陀螺仪L3G4IS,...

iPhone开发技巧之网络篇(4)--- 确认网络环境 3G/WIFI

开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审查的。ReachabilityApple 的 例程 Reachability 中介绍了取得/...

iOS网络监测如何区分2、3、4G?

首先,引入系统的Reachability类,不知道怎么引入的话,在Xcode,按下shift+command+0,搜索Reachability,看到图中所选的工程下载即可。 导入相关...

ios 确认网络环境3G/WIFI,网络状态监测的总结

from: http://blog.sina.com.cn/s/blog_6f40a0e70100srip.html 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)