关闭

使用AFNetworking框架检测网络状态

标签: 网络检测
873人阅读 评论(0) 收藏 举报
分类:

AFNetworking框架中自带了网络检测功能,在AFNetworkReachabilityManager文件中,使用AFNetworkReachabilityManager来监听网络状态的改变;苹果也提供Reachability来监听网络。因现在使用AFNetworking框架进行网络请求较多,因此博主使用自带的网络检测。

以下是枚举类的几种状态

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
    AFNetworkReachabilityStatusUnknown          = -1,
    AFNetworkReachabilityStatusNotReachable     = 0,
    AFNetworkReachabilityStatusReachableViaWWAN = 1,
    AFNetworkReachabilityStatusReachableViaWiFi = 2,
};

-(void)afnNetworkReachability
{
    //1.创建网络状态监测通知
    AFNetworkReachabilityManager *manger = [AFNetworkReachabilityManager sharedManager];

    //2.监测网络状态改变
    [manger setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
                NSLog(@"未知网络");
                break;
            case AFNetworkReachabilityStatusNotReachable:
                NSLog(@"没有连接网络");
                break;
            case AFNetworkReachabilityStatusReachableViaWWAN:
                NSLog(@"3G|4G");
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
                NSLog(@"WiFi");
                break;
            default:
                break;
        }
    }];


Reachablity 是一个iOS下检测,iOS设备网络环境用的库。

因为Reachablity只能监听网络状态的状况,不能监听它的改变,所以采用通知的方式

-(void)viewDidLoad
{
    [super viewDidLoad];

    //注册通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityStatusChange) name:kReachabilityChangedNotification object:nil];

    //创建对象
    Reachability *reachability = [Reachability reachabilityForInternetConnection];
    [reachability startNotifier];
}
-(void)reachabilityStatusChange
{
    if ([Reachability reachabilityForInternetConnection].currentReachabilityStatus == ReachableViaWWAN) {
        NSLog(@"3G|4G");
        return;
    }
    if ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == ReachableViaWiFi) {
        NSLog(@"wifi");
        return;
    }
    NSLog(@"未知网络");
}




8
0
查看评论

iOS使用AFNetWorking第三库检测网络连接状态

今天到公司,由自己的项目还没有空白状态的显示,想到要做一个手机所连接网络的判定,并达到实时监测的目的。了解到如果用iOS自带的Reachability类来实现的话不太方便,因为要保证它处于实时监听的状态,而且在得到当前的网络状态之后就要发送全局通知,出于这样的考虑,决定使用AFNetWorking框...
  • TQWei00001
  • TQWei00001
  • 2016-08-15 13:47
  • 2216

AFNetworking3.0判断网络状态

1.下载AFNetworking3.0,下载导入或者使用cocoapod下载,这里不再赘述.2.开始撸代码导入头文件,这里使用cocoapod导入的AFNetworking3.0#import "HomeViewController.h" #import <AFNetwor...
  • EmulateStep
  • EmulateStep
  • 2016-08-25 17:59
  • 4257

IOS-利用AFNetworking监听网络状态

步骤 1.创建网络监听者管理者对象 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; 2.设置监听  网络状态 //显然是...
  • DJH996064549
  • DJH996064549
  • 2016-01-12 13:33
  • 615

iOS 开发 AFNetworking实现网络状态的实时监测

- (void)viewDidLoad { [super viewDidLoad]; [self checkNetworkStatus]; }#pragma mark - 实时监测网络状态的变化 - (void)checkNetworkStatus { UIAlertView ...
  • kuangdacaikuang
  • kuangdacaikuang
  • 2016-12-04 19:40
  • 988

iOS开发 使用AFNetworking判断网络状态

iOS开发 使用AFNetworking判断网络状态
  • u010328250
  • u010328250
  • 2015-05-07 16:34
  • 1251

AFNetWorking 检测网络状态

#pragma 监测网络状态 -(void)cheackNetStatue{     AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager  alloc] in...
  • hxpp777
  • hxpp777
  • 2016-01-15 14:34
  • 282

IOS--利用AFNetworking监听网络状态

网络环境检测 网络环境检测:检测用户当前所处的网络状态 效果图1.当蜂窝和wifi同时关闭时候 显示为不可达(AFNetworkReachabilityStatusNotReachable)状态2.打开蜂窝移动数据,关闭wifi 显示为wan网络 3.打开wifi,关闭蜂窝移动数据 显示为wifi网...
  • appleLg
  • appleLg
  • 2015-08-14 13:39
  • 4292

iOS 用AFNetWorking 判断网络状态

- (void)viewDidLoad {     [super viewDidLoad];     // Do any additional setup after loading the view, typically from a nib. &#...
  • chenzheiu1210
  • chenzheiu1210
  • 2016-03-04 14:41
  • 339

AFNetworking网络状态判断和网络请求The network connection was lost."问题

AFNetworking是一个轻量级的iOS网络通信类库。它建立在NSURLConnection和NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单。它支持HTTP请求和基于REST的网络服务(包括GET、POST、 PUT、DELETE等)。支持ARC。 Github地...
  • u014202635
  • u014202635
  • 2014-08-11 14:21
  • 11822

iOS网络-AFNetworking检测网络状态

标签: 可以使用AFN框架中的AFNetworkReachabilityManager来监听网络状态的改变,也可以利用苹果提供的Reachability来监听。建议在开发中直接使用AFN框架处理。 示例代码如下: -(void)afn { //1.创建网络状态监测管理者 ...
  • qq_29552999
  • qq_29552999
  • 2016-02-24 22:40
  • 119
    个人资料
    • 访问:379242次
    • 积分:9110
    • 等级:
    • 排名:第2444名
    • 原创:334篇
    • 转载:241篇
    • 译文:0篇
    • 评论:50条
    最新评论
    苹果官方文档