我找到了解決方案,但無法解釋它爲什麼是解決方案。這是我用它來建立NSURLSession代碼:
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfig.allowsCellularAccess = YES;
sessionConfig.timeoutIntervalForRequest = 30;
sessionConfig.timeoutIntervalForResource = 60;
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
sessionConfig.URLCache = NULL;
//Create the session with the newly created sessionConfig.
session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
這行代碼是
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
我只是增加了1至10和中提琴的罪魁禍首,它工作正常在iOS 8以及現在。我不知道爲什麼它在iOS 7上完美運行,其值設置爲1,但不在iOS 8上。我能想到的唯一情況是Apple可能會更改NSURLSession的內部工作方式。
我有同樣的問題。我使用NSOperationQueueDefaultMaxConcurrentOperationCount讓iOS決定每個主機的連接數量,但似乎自iOS 8以來失敗。 – 2014-11-22 15:16:25