方法一(官方):

Reachability

================================================================================

框架地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

使用方法

1>  添加一个联网状态监听对象

@property (nonatomic, strong) Reachability *reach;

2>  实例化监听对象

self.reach = [Reachability reachabilityWithHostName:@"www.baidu.com"];

3>  判断联网状态

- (void)netwrokStatusChanged {

switch (self.reach.currentReachabilityStatus)
{

case NotReachable:

SJLog(@"没有联网");

break;

case ReachableViaWiFi:

SJLog(@"通过Wi-Fi上网");

break;

case ReachableViaWWAN:

SJLog(@"通过3G上网");

break;

default:

break;

}

}

4>  利用通知中心实时监听联网状态

[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(netwrokStatusChanged)
name:kReachabilityChangedNotification object:nil];

[self.reach startNotifier];

- (void)dealloc {

// 注册指定的通知监听

[[NSNotificationCenter defaultCenter] removeObserver:selfname:kReachabilityChangedNotification object:nil];

}

方法二(AFN):

// 获得网络监控的管理者

AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];

// 设置网络状态改变后的处理

[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

switch (status) {

case AFNetworkReachabilityStatusUnknown: // 未知网络

SJLog(@"未知网络");

break;

case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)

SJLog(@"未检到网络");

break;

case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络

SJLog(@"通过3G上网");

break;

case AFNetworkReachabilityStatusReachableViaWiFi: //
WIFI

SJLog(@"通过Wi-Fi上网");

break;

}

}];

// 开始监控

[mgr startMonitoring];

iOS网络监测方法的更多相关文章

  1. iOS 网络监测

    iOS网络监测,监测单个页面写在ViewController里,监测全部写在AppDelegate中,而且不用终止 - (void)viewDidLoad { [super viewDidLoad]; ...

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

    你可以在Github下载这个Demo 首先,引入系统的Reachability类,不知道怎么引入的话,在Xcode,按下shift+command+0,搜索Reachability,看到图中所选的工程 ...

  3. iOS中的网络请求 和 网络监测

    1.网络监测 //根据主机名判断网络是否连接 Reachability *reach = [Reachability reachabilityWithHostName:@"www.baidu ...

  4. IOS 网络浅析(一 网络监测~Reachability)

    网络监测应用于各种需要连接网络的app设计,由于现在开发的app几乎都用到网络,因此,网络监测也成为了较为重点的知识,下面我给大家简单讲解一下网络监测的实际应用,依旧会有代码哦. 想要实现网络监测,可 ...

  5. iOS开发——网络编程Swift篇&(一)网络监测

    网络监测 enum ReachabilityType { case WWAN, WiFi, NotConnected } public class Reachability { /** :see: O ...

  6. IOS网络开发概述

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  7. iOS网络

    iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 1253 阅读, 19 评论, 收藏,  编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微 ...

  8. IOS网络请求之AFNetWorking 3.x 使用

    前言: 计划把公司的网络请求与业务解耦,所以想着学习一下网络请求,最近学习了NSURLSession,今天来学习一下基于NSURLSession封装的优秀开源框架AFNetWorking 3.x,之前 ...

  9. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

随机推荐

  1. oracle创建表相关

    --创建表 create table person( id number primary key, name ), birth date ); --创建序列 create sequence perso ...

  2. SQL Server安全(7/11):使用跨数据库所有权链接(Cross-Database Ownership Chaining)的跨数据库安全

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  3. Android事件分发机制理解

    预备知识 触摸事件 : 安卓中把触摸事件封装成了一个类MotionEvent,用户的一次点击.触摸或者滑动都会产生一系列的MotionEvent 这个类的内容很简单,就两个东西:事件类型+坐标xy 事 ...

  4. 浅谈图片蒙版效果-webkit-mask

    会用PS的童鞋一定知道“蒙版”的概念,它可以在图片上实现一定的遮罩效果,当然这里我们不介绍ps里的蒙版,而是介绍利用CSS3的新属性-webkit-mask来实现网页中的图片遮罩效果. 大家对-web ...

  5. jquery实现轮播图

    /** * Created by hui on 2015/11/3. */ $(function(){ var circleLi = $('.poster-item'); var liLength = ...

  6. 你应该知道的 RPC 原理

    作者:伯乐在线 - meituanalibaba   网址:http://blog.jobbole.com/92290/ 在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用 ...

  7. c#隐藏和重写基类方法的异同

    最近正在学习c#,对其中的方法重写和隐藏的概念很是模糊,现在将其归纳如下: 1:方法重写:就是在基类中的方法用virtual关键字来标识,然后在继承类中对该类进行重写(override),这样基类中的 ...

  8. Object C中的数据类型表

    类型 例子 NSLog chars char 'a', '\n'  %c short int   — %hi, %hx, %ho unsigned short int   %hu, %hx, %ho ...

  9. Android自定义surfaceView显示多张图片

    我自定义了一个surfaceview,我在上面绘制多张图片,让它能够上下方滚显示图片,但是onMeasure()方法在重写的时候遇到了问题,不知道如何设置它的高度, public class MySu ...

  10. 利用Canvas编辑图片

    使用<canvas>对象在浏览器中把一幅彩色图片变成灰度图片. grayscale.html <!DOCTYPE html> <html lang="en&qu ...