最近做一个项目,里面要用到网络监听,感觉好难,早上查了一早上的资料,网上的帖子大都差不多。
看了看,最后整理合并了一下,感觉这个用起来最实在,也最简单。
检测网络状态
让用户了解自己的网络状态,防止一些错误操作
根据用户的网络状态进行智能处理,节省用户流量,提高用户体验
WIFI/3G网络:自动下载高清图片
低俗网络:只下载缩略图
没有网络:只显示离线的缓存数据
添加框架:SystemConfiguration.framework
在网络应用中,需要对用户设备的网络状态进行实时监控,
苹果官方提供了一个叫Reachability的实例程序,便于开发者检测网络状态
Reachablibity的使用步骤
1:导入头文件
#import "Reachability.h"
2:注册网络监听
// 监听网络状态发生改变的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
// 获得Reachability对象
self.reachability = [Reachability reachabilityForInternetConnection];
// 开始监控网络
[self.reachability startNotifier];
******网络监听 就那么几行代码,
添加到:AppDelegate.h 中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}
3:实在通知中的代理方法:networkStateChange
-(void)networkStateChange{
NSLog(@"网络状态改变了");
if ([AppDelegate isEnableWIFI]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"wenxintishi", nil) message:NSLocalizedString(@"wifiMessage", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"queding", n