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

本文介绍了如何在iOS应用中实现网络状态监听,包括WIFI、2G/3G/4G等不同网络环境的检测。通过引入Reachability框架,开发者可以轻松获取网络状态,以便根据网络类型做出相应的智能处理,如节省用户流量。文章还提及了针对2G/3G/4G网络状态的改进方法。
摘要由CSDN通过智能技术生成

最近做一个项目,里面要用到网络监听,感觉好难,早上查了一早上的资料,网上的帖子大都差不多。

看了看,最后整理合并了一下,感觉这个用起来最实在,也最简单。

检测网络状态

让用户了解自己的网络状态,防止一些错误操作

根据用户的网络状态进行智能处理,节省用户流量,提高用户体验

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值