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开发测试不同的网络环境2G/3G/4G/WiFi

iOS开发中测试不同的网络环境
  • feng2qing
  • feng2qing
  • 2016年05月29日 16:45
  • 2978

2G-3G-4G网络结构演进过程

一、GSM网络结构(2G) 通常,我们所说的2G网络指的就是基于GSM的网络,它的结构主要由四部分构成: 移动台MS(Mobile Station),它的功能是负责无线信号的收发及处理; 基站子...
  • TiyaTiyaTiya
  • TiyaTiyaTiya
  • 2014年05月13日 14:46
  • 7264

2G、 3G、 4G、5G的区别

1、制式和标准不同:   (1)2G主要标准有是GSM和CDMA,除美国外大多数使用GSM;   (2)3G存在四种标准:CDMA2000,WCDMA,TD-SCDMA(中国移动3G使用),WiM...
  • xiaoyida11
  • xiaoyida11
  • 2015年09月28日 15:38
  • 1540

1G、2G、3G、4G是什么

1G(first generation)通常是指第一代移动通信。最早的移动通信电话用的模拟蜂窝通信技术,这种技术只能提供区域性语音业务,而且通话效果差、保密性能也不好,用户的接听范围也是很有限。 ...
  • jcx5083761
  • jcx5083761
  • 2013年08月21日 09:14
  • 4063

2G,3G,4G网络架构浅谈——4G(LTE)

原文章地址:http://blog.sina.com.cn/s/blog_64827e4c010105nl.html 3G技术带给人们的高速网络体验是史无前例的。然而网速是没有最快,只有更快的。随...
  • baidu_28858149
  • baidu_28858149
  • 2016年02月24日 10:50
  • 1053

Android 判断用户2G/3G/4G移动数据网络

Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,...
  • Hknock
  • Hknock
  • 2014年07月10日 10:30
  • 26951

GPRS 区分2g/3g/4g网络

/** * 区分2g/3g/4gGPRG网络 * @author Bubble * */ package com.yunchao.apn;import com.sparrow.consta...
  • ZhongGuanGuan
  • ZhongGuanGuan
  • 2015年07月01日 19:29
  • 1569

手机的1G,2G,3G和4G区别识记

无线技术的发展历程: 第一代通讯技术:1G:模拟话音业务,电路交换 第二代2G:数字化音业务,数字的电路交换 2.5G:增强的数字分组交换业务 第三代3G:无线Internet业务,交互视频,...
  • nofacelee
  • nofacelee
  • 2015年07月16日 18:54
  • 167

Android之判断网络状态(网络的连接,改变,和判断2G/3G/4G)

现在app大多都需要从网络上获得数据。所以访问网络是在所难免。但是再访问网络之前,我们应该先做一下网络的状态判断。其实在访问网络之前我们要做一些状态判断,对应一些状态判断来做处理,并不是直接使用Htt...
  • u011068702
  • u011068702
  • 2015年12月01日 11:11
  • 1975

2G,3G与4G技术相关技术介绍

一.    通讯技术的分类 第一代移动电话技术:模拟技术,常见于”大哥大”。 第二代移动电话技术(2G):GSM,CDMA 第三代移动电话技术(3G):CDMA2000,WCDMA,TD-SCD...
  • sjz4860402
  • sjz4860402
  • 2016年04月18日 18:04
  • 1878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios 实时检测2G、3G、4G
举报原因:
原因补充:

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