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代码:

查看源码
打印 ?
01 <strong>// 
02 //  CloNetworkUtil.h 
03 //  NetWorkTest 
04 // 
05 //  Created by Cloay on 12-6-19. 
06 //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved. 
07 /**
08     1.添加framework: 
09     将SystemConfiguration.framework 添加进工程。 
10     2.下载 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip
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 @end </foundation></strong>
实现如下:
查看源码
打印 ?
01 // 
02     //  CloNetworkUtil.m 
03     //  NetWorkTest 
04     // 
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 CloNetworkUtil 
12      
13     //初始化reachability 
14     - (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      return
31      */
32     - (NSString *)getNetWorkType 
33    
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://blog.csdn.net/shang_515/article/details/7697149

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