歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

iPhone開發之網絡檢查

最近做一個項目要頻繁的進行網絡操作,但有時需要判定網絡狀態和當前網絡的類型。看到好多前輩都是使用

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

  1. //   
  2. //  CloNetworkUtil.h   
  3. //  NetWorkTest   
  4. //   
  5. //  Created by Cloay on 12-6-19.   
  6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.   
  7. /** 
  8.     1.添加framework:  
  9.     將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  
實現如下:
  1. //   
  2. //  CloNetworkUtil.m   
  3. //  NetWorkTest   
  4. //   
  5. //  Created by Cloay on 12-6-19.   
  6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.   
  7. //   
  8.   
  9. #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  

很簡單就不在說明了!效果圖:

Copyright © Linux教程網 All Rights Reserved