标签:
最近做一个项目要频繁的进行网络操作,但有时需要判定网络状态和当前网络的类型。看到好多前辈都是使用
reachability来实现的。我也试了试效果还不错,封装成了工具类方便大家使用。
使用说明:
1.添加framework:
将SystemConfiguration.framework添加进工程。
2.下载https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip
复制里面的Reachability.h和Reachability.m到项目中
3.添加CloNetworkUtil.h和CloNetworkUitl.m到你的项目中
在使用的地方导入CloNetworkUtil.h头文件即可
CloNetworkUtil.h代码:
01.//02.// CloNetworkUtil.h03.// NetWorkTest04.//05.// Created by Cloay on 12-6-19.06.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.07./**08.1.添加framework:09.将SystemConfiguration.framework 添加进工程。11.复制里面的Reachability.h和Reachability.m到项目中12.*/13. 14.#import <Foundation/Foundation.h>15.#import "Reachability.h"16.@interface CloNetworkUtil : NSObject{17.}18. 19. 20.- (Reachability *)initReachability;21.- (BOOL)getNetWorkStatus;22.- (NSString *)getNetWorkType;23.@end01.//02.// CloNetworkUtil.m03.// NetWorkTest04.//05.// Created by Cloay on 12-6-19.06.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.07.//08. 09.#import "CloNetworkUtil.h"10. 11.@implementation CloNetworkUtil12. 13.//初始化reachability14.- (Reachability *)initReachability{15.Reachability *reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];16.return reachability;17.}18. 19.//判断网络是否可用20.- (BOOL)getNetWorkStatus{21.if ([[self initReachability] currentReachabilityStatus] == NotReachable) {22.return NO;23.}else {24.return YES;25.}26.}27. 28./**29.获取网络类型30.return31.*/32.- (NSString *)getNetWorkType33.{34.NSString *netWorkType;35.Reachability *reachability = [self initReachability];36.switch ([reachability currentReachabilityStatus]) {37.case ReachableViaWiFi: //Wifi网络38.netWorkType = @"wifi";39.break;40.case ReachableViaWWAN: //无线广域网41.netWorkType = @"wwan";42.break;43.default:44.netWorkType = @"no";45.break;46.}47.return netWorkType;48.}49. 50.@end很简单就不在说明了!效果图:

有问题请留言,大家一起交流学习!
标签:
原文地址:http://www.cnblogs.com/iosblogx/p/4474596.html