之前在维护一个很旧的项目的时候,里面的网络请求有很大一部分是用ASIHTTPRequest这个第三方网络库实现的。
虽然这个库当时已经4年多没人维护了🤣,但是,至少iOS 9及以下的环境上运行起来是一切正常的……
直到那一天,经历了iOS 10的发布……😵在开发环境上,它失效了……
所有的ASIHTTPRequest全部timeout……
经过各种debug调试,以及搜索stackOverflow,找到了解决办法——
找到该库中的 ASIHTTPRequest.m 文件,修改如下代码
+ (void)initialize {
// 下面这一行控制并发请求数量,默认值为4,根据需求增大参数,保证并发多时不会被卡住
[sharedQueue setMaxConcurrentOperationCount: 10];
}
- (id)initWithURL:(NSURL *)newURL {
// ......
// 下面这一行设置是否尝试持有连接,默认是YES,这里经过尝试需要修改为NO
[self setShouldAttemptPersistentConnection: NO];
// ......
}
网友评论