iOS中设置网络超时时间+模拟的方法详解

 更新时间:2017年04月25日 11:34:19   作者:小小流浪的汉子  
这篇文章主要介绍了在iOS中设置网络超时时间+模拟的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来跟着小编一起来学习学习吧。

设置方法如下:

在封装的网络请求类里面如下设置

AFWEBAPI_REQUEST_TIMEOUT 这个参数为超时时间

#define AFWEBAPI_REQUEST_TIMEOUT 20

#pragma mark - 单例 & 构造函数
+ (instancetype)sharedTools {

 static WXNetworkTools *instance;

 static dispatch_once_t onceToken;
 dispatch_once(&onceToken, ^{
  instance = [[self alloc] initWithBaseURL:[NSURL URLWithString:WX_SERVER_URL]];

  instance.requestSerializer.timeoutInterval = AFWEBAPI_REQUEST_TIMEOUT;

 });

 return instance;
}

在封装的方法里面,在失败的回调里面写下如下代码,至于怎么处置就看自己了,我这里具体需求没有给,我先做了一个弹框处理

/// @param finished 完成回调
- (void)requestWithMethod:(WXRequestMethod)method URLString:(NSString *)URLString parameters:(id)parameters finished:(WXRequestCallBack)finished {

 NSString *methodName = (method == GET) ? @"GET" : @"POST";

 NSLog(@"%@",URLString);

 [[self dataTaskWithHTTPMethod:methodName URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:^(NSURLSessionDataTask *task, id responseObject) {

  finished(responseObject, nil);


  if (responseObject[@"status"] && [responseObject[@"status"] integerValue] == 1000) {


   //这里来账号互踢
   [[NSNotificationCenter defaultCenter] postNotificationName:KMutualKickNotification object:nil];


   return;

  }

 } failure:^(NSURLSessionDataTask *task, NSError *error) {

  NSLog(@"网络请求错误 %@", error);

  //这里来处理网络超时
  if (error.code == -1001) {

   [SVProgressHUD showErrorWithStatus:@"网络超时!"];

   return ;
  }
  finished(nil, error);

 }] resume];
}

如何去调试呢,难道去电梯里面去调试吗?

下面截图教你们如何去做网络限制去摸你用户网络不好的情况

使用工具:charles(青花瓷)

顶端的工具条--》Proxy --》Throttling Settting

设置好之后千万要记得去勾选Throttling,不然没有效果
顶端的工具条--》Proxy --》Throttling

这样就ok了

总结

以上就是这篇文章的全部内容了,希望本文的内容对各位iOS开发者们能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • iOS 9.0后微信支付回调处理实例

    iOS 9.0后微信支付回调处理实例

    这篇文章主要介绍了iOS 9.0后微信支付回调处理实例讲解,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2016-12-12
  • iOS使用原生AVCapture系列

    iOS使用原生AVCapture系列

    这篇文章主要为大家详细介绍了iOS使用原生AVCapture系列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 详解IOS开发中图片上传时两种图片压缩方式的比较

    详解IOS开发中图片上传时两种图片压缩方式的比较

    这篇文章主要介绍了IOS开发中图片上传时两种图片压缩方式的比较,需要的朋友可以参考下
    2017-03-03
  • iOS中UITableView使用的常见问题总结

    iOS中UITableView使用的常见问题总结

    这篇文章主要总结了iOS中UITableView使用的常见问题,其中包括如何设置headerView以及其高度、去掉多余cell的分割线 以及如何设置section数、行数等一系列的问题,文中介绍的更详细,需要的朋友们下面来一起看看详细介绍吧。
    2017-03-03
  • iOS应用开发中使用NSLocale类实现对象信息的本地化

    iOS应用开发中使用NSLocale类实现对象信息的本地化

    这篇文章主要介绍了iOS应用开发中使用NSLocale类实现对象信息的本地化的方法,能够将时间和货币等格式化为与系统本地设置相同的偏好,需要的朋友可以参考下
    2016-05-05
  • iOS多线程实现多图下载功能

    iOS多线程实现多图下载功能

    这篇文章主要为大家详细介绍了iOS多线程实现多图下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • iOS创建对象的不同姿势详解

    iOS创建对象的不同姿势详解

    这篇文章主要介绍了iOS创建对象的不同姿势,文中介绍的很详细,对大家具有一定的参考价值,有需要的朋友们下面来一起学习学习吧。
    2017-02-02
  • 浅谈iOS UIWebView对H5的缓存功能

    浅谈iOS UIWebView对H5的缓存功能

    本篇文章主要介绍了浅谈iOS UIWebView对H5的缓存功能,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • iOS开发第三方键盘处理实例代码

    iOS开发第三方键盘处理实例代码

    本篇文章主要介绍了iOS开发第三方键盘处理实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • iOS 自定义返回按钮保留系统滑动返回功能

    iOS 自定义返回按钮保留系统滑动返回功能

    这篇文章主要介绍了iOS 自定义返回按钮,保留系统滑动返回功能,实现方法非常简单,具有参考借鉴价值,需要的朋友参考下吧
    2017-01-01

最新评论