iphone开发之网络检查

最近做一个项目要频繁的进行网络操作,但有时需要判定网络状态和当前网络的类型。看到好多前辈都是使用

reachability来实现的。我也试了试效果还不错,封装成了工具类方便大家使用。

使用说明

    1.添加framework 

    SystemConfiguration.framework添加进工程。 

    2.下载https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

    复制里面的Reachability.hReachability.m到项目中

    3.添加CloNetworkUtil.h和CloNetworkUitl.m到你的项目中

     在使用的地方导入CloNetworkUtil.h头文件即可

CloNetworkUtil.h代码:

//
//  CloNetworkUtil.h
//  NetWorkTest
//
//  Created by Cloay on 12-6-19.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
/**
    1.添加framework: 
    将SystemConfiguration.framework 添加进工程。 
    2.下载 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip
    复制里面的Reachability.h和Reachability.m到项目中
*/

#import <Foundation/Foundation.h>
#import "Reachability.h"
@interface CloNetworkUtil : NSObject{
}


- (Reachability *)initReachability;
- (BOOL)getNetWorkStatus;
- (NSString *)getNetWorkType;
@end

实现如下:

//
//  CloNetworkUtil.m
//  NetWorkTest
//
//  Created by Cloay on 12-6-19.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "CloNetworkUtil.h"

@implementation CloNetworkUtil

//初始化reachability
- (Reachability *)initReachability{
    Reachability *reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];
    return reachability;
}

//判断网络是否可用
- (BOOL)getNetWorkStatus{
    if ([[self initReachability] currentReachabilityStatus] == NotReachable) {
        return NO;
    }else {
        return YES;
    }
}

/**
 获取网络类型
 return
 */
- (NSString *)getNetWorkType
{
    NSString *netWorkType;
    Reachability *reachability = [self initReachability];
    switch ([reachability currentReachabilityStatus]) {
        case ReachableViaWiFi:   //Wifi网络
            netWorkType = @"wifi";
            break;
        case ReachableViaWWAN:  //无线广域网
            netWorkType = @"wwan"; 
            break;
        default:
            netWorkType = @"no";
            break;
    }
    return netWorkType;
}

@end

很简单就不在说明了!效果图:

iphone开发之网络检查_第1张图片

有问题请留言,大家一起交流学习!
说明:转载请注明出处!

你可能感兴趣的:(iphone开发之网络检查)