iOS ——网络监测
来源:互联网 发布:winhex数据恢复教程 编辑:程序博客网 时间:2024/05/16 07:15
苹果原生的——————————————————————————————————————
//创建的工具类
@interface NetworkTool : NSObject
/**
* 是否WIFI
*/
+ (BOOL)isEnableWIFI;
/**
* 是否3G
*/
+ (BOOL)isEnable3G;
@end
#import "NetworkTool.h"
#import "Reachability.h"
@implementation NetworkTool
// 是否WIFI
+ (BOOL)isEnableWIFI {
return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
}
// 是否3G
+ (BOOL)isEnable3G {
return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
}
@end
- (void)viewDidLoad
{
[super viewDidLoad];
// 监听网络状态发生改变的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
// 获得Reachability对象
self.reachability = [Reachability reachabilityForInternetConnection];
// 开始监控网络
[self.reachability startNotifier];
}
- (void)dealloc
{
[self.reachability stopNotifier];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)networkStateChange
{
NSLog(@"网络状态改变了");
[self checkNetworkState];
}
/**
* 监测网络状态
*/
- (void)checkNetworkState
{
if ([NetworkTool isEnableWIFI]) {
NSLog(@"WIFI环境");
} else if ([NetworkTool isEnable3G]) {
NSLog(@"手机自带网络");
} else {
NSLog(@"没有网络");
}
}
@end
AFN的——————————————————————————————————————
- (void)viewDidLoad {
[super viewDidLoad];
AFNetworkReachabilityManager *manager=[AFNetworkReachabilityManager sharedManager];
[ manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status)
{
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"wifi环境");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"手机自带网络");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"没有网络");
break;
case AFNetworkReachabilityStatusUnknown:
NSLog(@"网络异常");
break;
}
}];
//开始监测
[manager startMonitoring];
}
-(void)dealloc
{
//停止监测
[[AFNetworkReachabilityManager sharedManager] stopMonitoring];
}
- iOS ——网络监测
- IOS开发——网络监测
- IOS系列——网络监测
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络—10监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- iOS开发网络篇—监测网络状态
- 8天学通MongoDB——第四天 索引操作
- 我面试时遇见过的Java面试题目
- 2012年5月SAT香港真题解析
- VC++2008中快速运用OpenCV打开图像文档
- 后海日记(11)
- iOS ——网络监测
- 【从零单排之微软面试100题系列】02之包含 min 函数的栈
- leetCode 15. 3Sum (3数之和) 解题思路和方法
- 使用Visio—UML画类图
- work——内容
- Web前端_jQuery_命名空间
- jquery的trigger和triggerHandler区别
- STM32F0项目进阶之实时时钟DS1307
- 8天学通MongoDB——第五天 主从复制