歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> iPhone開發之網絡檢查

iPhone開發之網絡檢查

日期:2017/3/1 10:18:40   编辑:Linux編程
最近做一個項目要頻繁的進行網絡操作,但有時需要判定網絡狀態和當前網絡的類型。看到好多前輩都是使用

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. #import <Foundation/Foundation.h>
  14. #import "Reachability.h"
  15. @interface CloNetworkUtil : NSObject{
  16. }
  17. - (Reachability *)initReachability;
  18. - (BOOL)getNetWorkStatus;
  19. - (NSString *)getNetWorkType;
  20. @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. #import "CloNetworkUtil.h"
  9. @implementation CloNetworkUtil
  10. //初始化reachability
  11. - (Reachability *)initReachability{
  12. Reachability *reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];
  13. return reachability;
  14. }
  15. //判斷網絡是否可用
  16. - (BOOL)getNetWorkStatus{
  17. if ([[self initReachability] currentReachabilityStatus] == NotReachable) {
  18. return NO;
  19. }else {
  20. return YES;
  21. }
  22. }
  23. /**
  24. 獲取網絡類型
  25. return
  26. */
  27. - (NSString *)getNetWorkType
  28. {
  29. NSString *netWorkType;
  30. Reachability *reachability = [self initReachability];
  31. switch ([reachability currentReachabilityStatus]) {
  32. case ReachableViaWiFi: //Wifi網絡
  33. netWorkType = @"wifi";
  34. break;
  35. case ReachableViaWWAN: //無線廣域網
  36. netWorkType = @"wwan";
  37. break;
  38. default:
  39. netWorkType = @"no";
  40. break;
  41. }
  42. return netWorkType;
  43. }
  44. @end

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

Copyright © Linux教程網 All Rights Reserved