iOS开发-网络篇-网络测试

iOS开发-网络篇-简单总结

一、网络测试

   在开发的过程中,会进行网络连接的一些测试,以便我们清楚开发的App是否能够正常的连接到网络。怎样进行测试?

    首先我们先来介绍一款第三方软件Reachability-masterReachability 英文译为 能达到性,这款第三方能够帮助我们轻松的进行网络连接的测试。

 

    第三方相关内容剖析

  NotReachable = 0,          没有网

 ReachableViaWiFi = 2,       wifi

 ReachableViaWWAN = 1       2G/3G

 

 //1.根据主机名判断网络是否连接

 +(instancetype)reachabilityWithHostName:(NSString*)hostname;

 //2.开启监听

 -(BOOL)startNotifier;

  //3.停止监听

 -(void)stopNotifier;

 //4.获取当前的网络状态

 -(NetworkStatus)currentReachabilityStatus;

 

测试步骤如下:

1.根据主机名判断网络是否连接

2.注册网络监听

3.开启监听模式

4.停止监听

 

代码如下:

 

- (void)viewDidLoad {

    [super viewDidLoad];

    //1.根据主机名判断网络是否连接  开发中一般都写百度 进行测试检测 因为百度不会死机、停止 会一直在线可用于测网

    self.reach = [Reachability reachabilityWithHostName:@"http://192.168.1.87"];

 

    //2.注册网络监听

    //name:kReachabilityChangedNotification

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(reachabilityChangeNotifi) name:kReachabilityChangedNotification object:nil];

    

    //3.开启监听模式

    [self.reach startNotifier];

    

}

 -(void)reachabilityChangeNotifi

{

    //对于几种不同的情况,进行返回信息

   //此处传入一个当前的reachability的状态

    //!**!注意:不稳定时可能会打印多次

 

    switch (self.reach.currentReachabilityStatus) {

        case  NotReachable:

            

            NSLog(@"没有网络连接");

            break;

        case  ReachableViaWiFi:            

            NSLog(@"Wifi网络");

            break;

        case  ReachableViaWWAN:

            

            NSLog(@"移动蜂窝网");

            break; 

        default:

            NSLog(@"未知网络");

            break;

    }

}

//因为有通知 所以此处要设置delloc

-(void)dealloc

{

    //1.把当前对象的所有通知删除

    [[NSNotificationCenter defaultCenter]removeObserver:self];

    

    //2.也可以对应一个一个删除

//     [NSNotificationCenter defaultCenter]removeObserver:<#(nonnull id)#> name:<#(nullable NSString *)#> object:<#(nullable id)#>

    //停止监听

    [self.reach stopNotifier];

    

}

 

posted @ 2016-03-18 22:45  Horkly  阅读(354)  评论(0)    收藏  举报