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 overFullScreen与fullScreen区别分析

    iOS overFullScreen与fullScreen区别分析

    这篇文章主要介绍了iOS overFullScreen与fullScreen区别分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • iOS如何获取当前日期前后N天的时间示例代码

    iOS如何获取当前日期前后N天的时间示例代码

    这篇文章主要给大家介绍了关于iOS如何获取当前日期前后N天的时间的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-11-11
  • 详解iOS多线程GCD的使用

    详解iOS多线程GCD的使用

    Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法,本文给大家详细介绍IOS中GCD的使用,需要的朋友参考下
    2016-03-03
  • ISO7 二维码详细介绍及使用方法

    ISO7 二维码详细介绍及使用方法

    本文主要介绍ISO7 二维码的资料,这里整理了详细的使用方法,及简单示例代码,帮助大家学习参考,有需要的小伙伴可以参考下
    2016-09-09
  • IOS中UIWebView加载Loading的实现方法

    IOS中UIWebView加载Loading的实现方法

    最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!
    2015-05-05
  • IOS 开发之swift中手势的实例详解

    IOS 开发之swift中手势的实例详解

    这篇文章主要介绍了IOS 开发之swift中手势的实例详解的相关资料,希望通过本文大家能掌握IOS手势的使用方法,需要的朋友可以参考下
    2017-09-09
  • iOS两丫技术之UILabel性能不够的解决方法

    iOS两丫技术之UILabel性能不够的解决方法

    这篇文章主要介绍了iOS中控件UILabel性能不够而自定义UILabel的过程,UILable是iPhone界面最基本的控件,主要用来显示文本信息,下面通过本文我们来了解一下
    2022-08-08
  • iOS 10新的通知机制中添加图片的方法详解

    iOS 10新的通知机制中添加图片的方法详解

    这篇文章主要介绍了iOS 10新的通知机制中添加图片的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • IOS开发之CocoaPods安装和使用教程

    IOS开发之CocoaPods安装和使用教程

    CocoaPods应该是iOS最常用最有名的类库管理工具了,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
    2014-09-09
  • iOS实现从背景图中取色的代码

    iOS实现从背景图中取色的代码

    这篇文章主要介绍了iOS实现从背景图中取色的代码,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论