这篇文章将为大家详细讲解有关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
关于iOS中怎么设置网络超时时间就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。