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