Reachability

一、Reachability中介绍了取得/检测网络状态的方法。

二、使用

    1、添加源文件:Reachability.h和Reachability.m

    2、添加framework———SystemConfiguration.framework

三、网络状态

    Reachability.h定义了三中网络状态

 typedef enum{

        NotReachable = 0,   //无连接

        ReachableViaWiFi,   //使用3G/GPRS网络

        ReachableViaWWAN   //使用WiFi网络

        }NetworkStatus;

 

 

因此可以这样检查网络状态

 

Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”];

switch([r currentReachabilityStatus])

{

    case NotReachable:    //没有网络连接

       break;

    case ReachableViaWWAN:  //使用3G网络连接

        break;

    case ReachableViaWiFi:    //使用WiFi网络

        break;

}

 

四、检查当前网络环境

  // 是否wifi

    + (BOOL) IsEnableWIFI {
        return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
    }

 

    // 是否3G
   

  + (BOOL) IsEnable3G {
        return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
    }

 

    例子:

    - (void)viewWillAppear:(BOOL)animated {
    if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&
            ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
            self.navigationItem.hidesBackButton = YES;
            [self.navigationItem setLeftBarButtonItem:nil animated:NO];
        }
    }

 

时间: 2024-10-29 04:37:32

Reachability的相关文章

IOS Reachability判断所请求服务器是否超时

开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的. Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法. 1.在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中. 2.然后将 SystemConfiguration.framework 添加进工程. 我使用的版本为 : Version: 2.2 我为Apple的例

使用 Reachability 获取网络状态

Reachability source https://developer.apple.com/library/ios/samplecode/Reachability/Introduction/Intro.html reachability 为苹果官方demo提供的一个检测网络状态的代码,下载源码后本人对其进行了修改,修改后源码: reachability.h  +  reachability.m #import <Foundation/Foundation.h> #import <Sy

10个热门的Github开源项目(PKRevealController、Nimbus以及Reachability等)

PKRevealController PKRevealController是一个iOS平台上的视图控制器集合,通过展现多个视图控制器来进行控制器之间的切换.设置简单,高度灵活. PKRevealController是ZUUIRevealController的进化,ZUUIRevealController是一个类似Facebook 客户端的视图横向切换的效果.PKRevealController整个控制器从头至尾进行了重写,API不兼容以前的版本,不过你也可以访问使用以前的版本. 项目地址>>

iOS开发网络篇—Reachability检测网络状态

前言:当应用程序需要访问网络的时候,它首先应该检查设备的网络状态,确认设备的网络环境及连接情况,并针对这些情况提醒用户做出相应的处理.最好能监听设备的网络状态的改变,当设备网络状态连接.断开时,程序也应该有相应的处理. 开发工具:xcode6.3.2 操作系统:OS X Yosemite10.10.4 学习来源:<疯狂IOS讲义(下)>中的ios网络应用编程 1.下载,添加Reachability类. 官网下载网址: https://developer.apple.com/library/pr

ios-哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability

问题描述 哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability 应用场景是获取苹果手机是否处于飞行模式状态,但不能通过reachability来判断是否只有网络状态,用networkcontroller和coretelephony两个判断能够解决大部分问题,但发现有4个版本的操作系统返回不正确,因此无法通用,不知道如何是好了,有哪位大虾出手相助,谢谢!不行的4个IOS版本分别是:6.1.3.7.0.4.7.1.1.8.3 解决方案 楼主解决了吗,同求啊

iOS中使用Reachability 检测网络

如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测. 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库. 监视目标网络是否可

使用Reachability类判断iOS设备的当前网络连接类型_IOS

(1). 下载 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip (2). 拖reachability.h,reachability.m入工程 (库非ARC) ARC:-fno-objc-arc               (3) .导入SystemConfiguration.framework (4).用法 复制代码 代码如下: -(NSString*)getNetType   {

怎么去掉Xcode工程中的某种类型的警告

问题描述  在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧.我们怎么去掉警告呢? 1. 最直接.最一劳永逸.最安全的方式,直接找到警告的那段代码,改为不警告.这个方式最安全. 可是它有一个问题,就是,当我们很多文件都有这种类型的警告的时候,我们就需要改动很多很多的源码了, 对于不是我们写

ios-objective-c UIAlert button不实现

问题描述 objective-c UIAlert button不实现 在函数中有一个UIAlert: - (void)loadJSON { Reachability *networkReachability = [Reachability reachabilityForInternetConnection]; NetworkStatus networkStatus = [networkReachability currentReachabilityStatus]; if (networkStat