7

最近我注意到,我的代碼,使用AFNetworking(從主分支最新版本)的iOS停止6. 下正常工作,這是我的代碼:AFNetworking停止的iOS下工作6

httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:baseURL]]; 
httpClient.operationQueue.maxConcurrentOperationCount = 1; 

哪裏httpClient是一個類變量。

接下來,我創建了一個請求:

NSMutableURLRequest *signInRequest = [httpClient requestWithMethod:@"POST" path:@"/user/register" parameters:dataToSend]; 
signInRequest.timeoutInterval = 15.0; 
signInRequest.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData; 

AFJSONRequestOperation *signInOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:signInRequest success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) 
{ 
    // Blah 
} 
    failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) 
{ 
    // Blah 
}]; 

[httpClient enqueueHTTPRequestOperation:signInOperation]; 

所有其他請求具有相似的結構。第一次入隊的操作很順利,我可以進入成功處理程序塊。但是,接下來對其他請求的調用將通過失敗處理程序和request timeout錯誤完成,無論我選擇的超時值有多大。

我使用普通的NSURLConnection完成了相同的調用,編寫了大量的代碼:),並且成功地處理了請求。

我切換到iOS 5設備,上面的代碼工作正常。

我切換到3G連接(iOS 6),上面的代碼工作。

好像我只對WiFi連接這個問題(除的情況下,當我在同一個子網我與我的REST的服務器。)

對這個有什麼想法?

預先感謝您。

+0

同樣的事情發生在這裏。我可以通過手動編碼請求來實現它,但仍然使用AF..RequestOperation。 AFHTTPClient在我家的wifi上工作,但不是通過我的uni的代理。 –

回答

2

看來你還在AFNetworking的github上發佈了一個問題,並自己找到了解決方案:)!

看起來iOS 6似乎改變了某些東西到TCP實現或其他東西。我將服務器移至第三方託管服務器,現在正在運行。

對於未來的讀者,可以找到here的問題。