Reachability判断有无网络

在整理以前的东西,突然,发现判断网络也是很好玩的东东。于是整理了一下。

这个是需要一个第三方的库Reachability.

开始说上传的步骤:

1)在网络上下载第三方库Reachability.还是那句话,把库要放在工程文件的文件夹下,然后,右键添加。

2)运行一下代码,应该会出现关于Arc的错误 ,此时。BuildPhases--->CompileSources--->找到库所包含的文件---》fno-objc-arc.

3)验证代码,应该添加成功。

.m部分

//加入头文件
#import "Reachability.h"

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    if ([self isConnectionAvailable]) {

        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提醒" message:@"网络已连接,请您一会儿重新发送" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
        [alert show];

    };
}

//判断网络是否连接。
-(BOOL) isConnectionAvailable{

    BOOL isExistenceNetwork = YES;
    Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
    switch ([reach currentReachabilityStatus]) {
        case NotReachable:
            isExistenceNetwork = NO;
            //NSLog(@"notReachable");
            break;
        case ReachableViaWiFi:
            isExistenceNetwork = YES;
            //NSLog(@"WIFI");
            break;
        case ReachableViaWWAN:
            isExistenceNetwork = YES;
            //NSLog(@"3G");
            break;
    }
     if (!isExistenceNetwork) {

     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提醒" message:@"网络未连接,请您一会儿重新发送" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
     [alert show];
     }
     return isExistenceNetwork;
}

Reachability判断有无网络

时间: 2024-10-11 22:13:29

Reachability判断有无网络的相关文章

判断有无网络

实现步骤: 1.获取ConnectivityManager对象 Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 2.获取Network

【代码笔记】判断有无网络

一,工程图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController @end RootViewController.m #import "RootViewController.h" //加入头文件 #import "Reachability.h" @interface RootViewController ()

JS判断有无网络(移动端)

ar EventUtil = { addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent("on" + type, handler); } else { element["

iOS 判断当前网络状态

1.如果只判断当前是否是无网的状态: if([Reachability reachabilityForLocalWiFi].currentReachabilityStatus==NotReachable&&[[Reachability reachabilityForInternetConnection] currentReachabilityStatus]==NotReachable) { //没网的操作 }else { //有网的操作 } 2.监听网络状态的改变 导入头文件 #impor

如何判断当前网络连接状态(网络是否正常)

众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的网络连接状态,如果没有网络,就不再请求url,省去不必要的步骤,所以,这个如何判断?其实很简单. 前提:工程添加:SystemConfiguration.framework 然后在需要判断的类中包含头文件: #import "Reachability.h" 下面是我写的一个方法: #pragma mark - 检测网络连接 + (BOOL)isConnectionAvailable { BOOL isExist

判断当前网络是否连接 使用的是block

// 判断当前网络是否连接 - (void)reachabilityNetwork:(void(^)(BOOL networkExist))block {     Reachability *r = [ReachabilityreachabilityWithHostName:Baidu_URL];     switch ([r currentReachabilityStatus]) {         caseNotReachable:             // 没有网络连接        

iphone判断当前网络连接类型

?Reachability只能区分出无网络.wifi和wwan(2G&2.5G&3G)类型的网络连接类型,只需重构networkStatusForFlags方法,即可详细区分出2G与3G网络 ??1. [代码][C/C++]代码     //Reachability.m 中 networkStatusForFlags 方法重构- (NetworkStatus) networkStatusForFlags: (SCNetworkReachabilityFlags) flags{if ((fl

android如何判断当前网络类型(联网,2g,3g,wifi等)

一般对网络的判断都是判断是否联网,不过有时候我们需要知道具体的网络类型,比如在3g网络下,百度地图的定位功能存在很大的偏差,这就需要提前判断网络类型针对3g网络情况做特殊的处理. 关于Android如何检测网络的类型,网上代码很多,但是有用的不多,真正解决了问题的我只找到一篇(见文章末尾网址),为了更好的方便自己理解,对这片文章做了解释和整理. 在android中判断网络需要用到ConnectivityManager,下面的方法演示了如何用ConnectivityManager判断当前是否联网:

Android中判断当前网络是否可用

当前有可用网络,如下图: 当前没有可用网络,如下图: 实现步骤: 1.获取ConnectivityManager对象 Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECT