iOS开发网络篇—网络检查

    • 最近做一个项目要频繁的进行网络操作,但有时需要判定网络状态和当前网络的类型。看到好多前辈都是使用
      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.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 添加进工程。
      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

      实现如下:
      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

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

       

      技术分享
       

      有问题请留言,大家一起交流学习!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。