之前在維護(hù)一個(gè)很舊的項(xiàng)目的時(shí)候,里面的網(wǎng)絡(luò)請求有很大一部分是用ASIHTTPRequest這個(gè)第三方網(wǎng)絡(luò)庫實(shí)現(xiàn)的。
雖然這個(gè)庫當(dāng)時(shí)已經(jīng)4年多沒人維護(hù)了??,但是,至少iOS 9及以下的環(huán)境上運(yùn)行起來是一切正常的……
直到那一天,經(jīng)歷了iOS 10的發(fā)布……??在開發(fā)環(huán)境上,它失效了……
所有的ASIHTTPRequest全部timeout……
經(jīng)過各種debug調(diào)試,以及搜索stackOverflow,找到了解決辦法——
找到該庫中的 ASIHTTPRequest.m 文件,修改如下代碼
+ (void)initialize {
// 下面這一行控制并發(fā)請求數(shù)量,默認(rèn)值為4,根據(jù)需求增大參數(shù),保證并發(fā)多時(shí)不會(huì)被卡住
[sharedQueue setMaxConcurrentOperationCount: 10];
}
- (id)initWithURL:(NSURL *)newURL {
// ......
// 下面這一行設(shè)置是否嘗試持有連接,默認(rèn)是YES,這里經(jīng)過嘗試需要修改為NO
[self setShouldAttemptPersistentConnection: NO];
// ......
}