12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- //
- // RQNetworkReachabilityManager.m
- // jiaPei
- //
- // Created by 张嵘 on 2018/12/4.
- // Copyright © 2018 JCZ. All rights reserved.
- //
- #import "RQNetworkReachabilityManager.h"
- @interface RQNetworkReachabilityManager ()
- @property (nonatomic, assign, readwrite) AFNetworkReachabilityStatus networkReachabilityStatus;
- @end
- @implementation RQNetworkReachabilityManager
- + (instancetype)shareManager
- {
- static RQNetworkReachabilityManager *manager = nil;
-
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- manager = [[self alloc] init];
- });
-
- return manager;
- }
- // 监听网络状态
- - (void)monitorNetworkStatus {
- // 创建网络监听者
- AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
-
- [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
- switch (status) {
- case AFNetworkReachabilityStatusUnknown:
- // 未知网络
- NSLog(@"当前网络:未知网络");
- break;
-
- case AFNetworkReachabilityStatusNotReachable:
- // 无网络
- NSLog(@"当前网络:无网络");
- break;
-
- case AFNetworkReachabilityStatusReachableViaWWAN:
- // 蜂窝数据
- NSLog(@"当前网络:蜂窝数据");
- break;
-
- case AFNetworkReachabilityStatusReachableViaWiFi:
- // 无线网络
- NSLog(@"当前网络:无线网络");
- break;
-
- default:
- break;
- }
-
- if (_networkReachabilityStatus != status) {
- _networkReachabilityStatus = status;
- // 网络改变通知
- [[NSNotificationCenter defaultCenter] postNotificationName:RQNetworkingReachabilityDidChangeNotification object:[NSNumber numberWithInteger:status]];
- }
- }];
-
- // 开始监听
- [manager startMonitoring];
- }
- @end
|