随着移动网络升级:2G->3G->4G甚至相传正在研发的5G,网络速度是越来越快,但这流量也像流水一般哗哗的溜走。
网上不是流传一个段子: 睡觉忘记关流量,第二天房子就归移动了!
这固然是一种夸张的说法,但是作为一个优秀的App开发人员,我们需要在App中给出最恰当的提示。
在需要花费大量流量的时候(例如:视频,下载等)给出一些提示。
在用户视频期间用户切换网络的时候给出是否继续观看的提示!
下面笔者就给出一种可以实时监控网络状态改变的方法!
笔者使用的是网络流传最广的网络监控类:Reachability
点击此处下载本文Demo:点击下载
将上部所下载的文件解压,将NetworkReachability文件夹加入你需要添加的工程之中。
示例说明:此示例用于演示关于如何使用SystemConfiguratio Reachalility程序接口来判定相关的网络连接状态及状态 变 化,所以在使用此示例中的Reachability.(h/m)文件于自有的项目中的前提是必须引入 SystemConfiguration.framework。
导入头文件:
#import "NetworkReachability.h"
定义全局变量
NetworkReachability *_netReachability;
初始化变量并且给代理赋值
_netReachability = [[NetworkReachability alloc] init];
_netReachability.delegate = self;
代理的实现
#pragma mark - NetworkReachability Delegate
- (void)reachable:(NetworkStatus)netStatus {
switch (netStatus) {
case NotReachable:
NSLog(@"No Network!");
break;
case ReachableViaWiFi:
NSLog(@"WiFi");
break;
case ReachableViaWWAN:
NSLog(@"3G");
break;
default:
break;
}
}
当然别忘了代理申明:
<NetworkReachabilityDelegate>
OVER!