iOS判断网络连接类型

原创 2015年07月09日 15:29:24

有时候应用需要判断网络是否连接,网络连接的类型。可以使用

    Reachability *r = [Reachability reachabilityWithHostName:@"www.baidu.com"];
    switch ([r currentReachabilityStatus]) {
        case NotReachable:
            NSLog(@"没有网络");
            break;
        case ReachableViaWWAN:
            NSLog(@"正在使用3G网络");
            break;
        case ReachableViaWiFi:
            NSLog(@"正在使用wifi网络");
            break;
    }


如果用这种方法判断是否连接网络,在连接了WiFi但WiFi没有连接到互联网时,currentReachabilityStatus会阻塞主线程,直到超时,可以用

-(BOOL)connectedToNetWork
{
    struct sockaddr_in zeroAddress;
    bzero(&zeroAddress, sizeof(zeroAddress));
    zeroAddress.sin_len = sizeof(zeroAddress);
    zeroAddress.sin_family = AF_INET;
    
    SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
    SCNetworkReachabilityFlags flags;
    
    BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
    CFRelease(defaultRouteReachability);
    
    if (!didRetrieveFlags) {
        NSLog(@"Error. Count not recover network reachability flags");
        return NO;
    }
    
    BOOL isReachable = flags & kSCNetworkFlagsReachable;
    BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
    return (isReachable && !needsConnection) ? YES : NO;
}

先判断是否连接到互联网,再用上面的方法判断网络的类型

android当前网络连接类型判断

之前用到判断网络状态,有些情况下还需要判断是wifi网络,还是移动网络,所以,干脆就把这个工具类分享了,也用javadoc,工具生成了大致的文档。简单可以看下。 package net.nyist...
  • wangyg1990
  • wangyg1990
  • 2013年07月10日 17:14
  • 1851

网络连接类型判断

原文地址:网络连接类型判断作者:xakzhong 1.网络连接类型判断 NetworkInfo activeNetInfo = connectivityManager.ge...
  • heicainiuniu
  • heicainiuniu
  • 2011年12月09日 14:30
  • 921

AFN 判断网络连接类型

引入:AFNetworkReachabilityManager.h文件 引入:AFNetworkReachabilityManager.m文件 一:程序一启动,就监测 // // ...
  • yyyyccll
  • yyyyccll
  • 2017年07月05日 19:09
  • 131

iOS开发之网络连接检测

开源中国iOS客户端基于网络同步数据,从而达到与网页看到同样数据效果,所以在启动程序的时候需要检查网络;这也是每一个联网应用启动的第一步,如果联网应用没有检查网络,苹果公司将不予以审核通过;  ...
  • Bonway_Huang
  • Bonway_Huang
  • 2015年12月14日 22:24
  • 3067

iOS开发之----动态类型(isKindOfClass, isMemberOfClass,id)等

转:http://blog.sina.com.cn/s/blog_71715bf8010166qt.html 对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。 判断对象类...
  • zhangmiaoping23
  • zhangmiaoping23
  • 2015年01月07日 11:32
  • 1387

Objective-C 字符串、数组、字典及类型判断

1、字符串NSLog *str = @"Hello IOS";@符号:表示强制类型转换,不加@表示C语言类型的字符串,加@表示NSString类型数据。%@:NSString类型的字符串2、数组 创...
  • huangfei711
  • huangfei711
  • 2016年07月11日 09:27
  • 1637

ios判断图片格式类型

1、方式一 - (NSString *)contentTypeForImageData:(NSData *)data { uint8_t c; [data getB...
  • gl5773477
  • gl5773477
  • 2016年12月21日 09:38
  • 1109

iOS 判断网络连接状态的几种方法

一).Reachability 添加源文件及Framework Apple 的官方例子 Reachability 中介绍了获取、检测设备当前网络状态的方法。在你的程序中,需要把该工程中的Reacha...
  • Joycecsdn
  • Joycecsdn
  • 2016年11月10日 11:37
  • 1286

IOS判断网络连接

在douban应用中,需要联网是必须的,看书发现,apple对于需要联网的应用要求很高,必须要进行联网检查,现在还任务在身,但是忙中抽闲,看了看SCNetworkReachability,用于进行联网...
  • zzzili
  • zzzili
  • 2013年01月31日 13:30
  • 2123

iOS网络连接判断

检测iPhone网络状况
  • sinat_25921367
  • sinat_25921367
  • 2015年10月22日 10:30
  • 115
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS判断网络连接类型
举报原因:
原因补充:

(最多只允许输入30个字)