iOS网络监测方法

方法一(官方):

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];

时间: 2024-08-06 11:38:33

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

iOS 网络监测

iOS网络监测,监测单个页面写在ViewController里,监测全部写在AppDelegate中,而且不用终止 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //根据主机名判断网络是否连接 self.reach = [Reachability reachabilityWithHostName:@"www.ba

iOS网络监测

1.第一种效果 在文件中加入Reachability,MBProgressHUD库 在xxxxx.m中,加入头文件 #import"Reachability.h" #import"MBProgressHUD.h" 在需要判断的地方,加上[selfisConnectionAvailable]; -(BOOL)isConnectionAvailable{ BOOLisExistenceNetwork=YES; Reachability*reach=[Reachabili

iOS 网络监测(转)

以下苹果开发网络编程知识由 CocoaChina 会员 “cocoa_yang” 总结,希望能为苹果开发新手梳理知识脉络,节省入门时间.一:确认网络环境3G/WIFI 1. 添加源文件和framework         开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的.    Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.要在应用程序程序中使用Reachability,首先要完成如下两部:   

iOS开发——网络请求方法汇总

在实际的项目开发中,连接网络是每一款App必不可少的基本功能.对于客户端的网络请求而言,无非是有两个实现方向:使用网络请求框架或者不使用网络请求框架.在这篇博客中,我将用苹果自带的网络请求方式(不使用第三方框架)下对iOS网络请求方法做一个汇总.我将在之后的博客中介绍使用AFNetworking框架进行请求的实现.代码已经上传至:https://github.com/chenyufeng1991/iOS-NetworkRequest   . [使用XML请求Webservice,可用GET或PO

ios网络学习------2 用非代理方法实现异步post请求

#pragma mark - 这是私有方法,尽量不要再方法中直接使用属性,因为一般来说属性都是和界面关联的,我们可以通过参数的方式来使用属性 #pragma mark post登录方法 -(void)loginWithPostWithName:(NSString *)userName pwd:(NSString *)pwd { //1确定地址NSURL NSString *urlString = [NSString stringWithFormat:@"www.baidu.com"];

iOS网络编程同步GET方法请求编程

iOS SDK为HTTP请求提供了同步和异步请求两种不同的API,而且可以使用GET或POST等请求方法.我们先了解其中最为简单的同步GET方法请求. 首先实现查询业务,查询业务请求可以在主视图控制器MasterViewController类中实现,其中MasterViewController.h代码如下: Java代码   #import <UIKit/UIKit.h> #import “NSString+URLEncoding.h” #import “NSNumber+Message.h”

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

网络监测 1 enum ReachabilityType { 2 case WWAN, 3 WiFi, 4 NotConnected 5 } 6 7 public class Reachability { 8 9 /** 10 :see: Original post - http://www.chrisdanielson.com/2009/07/22/iphone-network-connectivity-test-example/ 11 */ 12 class func isConnected

iOS网络编程(7) 第三方开源库-----&gt;AFNetworking

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象.它的模块架构被良好的设计,拥有丰富的功能,因此,使用起来,必定赏心悦目. @原文链接https://github.com/AFNetworking/AFNetworking,我在此基础上了点配置修改 @介绍 1.支持HTTP请求和基于REST的网络服务(包括GET.POST. PUT.DELETE等) 2.支持ARC 3.要求i

IOS网络开发概述

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理