Я работаю над приложением с xcode 9.2 и iOS 11.4.Когда я пытаюсь NSURLSession downloadTaskWithRequest в фоновом и переднем плане переключения состояния приложения, несколько раз приложение получает 200 успехов с ошибкой Domain = NSURLErrorDomain Code = -1005 «Сетевое соединение было потеряно».
Ошибка следующая:
NSLocalizedDescription = "Сетевое соединение потеряно.";NSUnderlyingError = "Ошибка домена = kCFErrorDomainCFNetwork Code = -1005 \" (null) \ "UserInfo = {NSErrorPeerAddressKey = {длина = 28, емкость = 28, байты = 0x1c1e01bb000000002604558000210000 ... a5cCKEKF_RK_RK_RK_RK_RK);"_kCFStreamErrorCodeKey" = 57;"_kCFStreamErrorDomainKey" = 1;
Мой запрос выглядит следующим образом:
NSMutableURLRequest *urlRequest = nil;
NSString *urlString = nil;
NSURL * url = nil;
urlString = [NSString stringWithFormat:@"https://%@%@", self.requestUrl, self.queueName];
url = [NSURL URLWithString:urlString];
urlRequest = [NSMutableURLRequest requestWithURL:url];
urlRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
[urlRequest addValue:@"" forHTTPHeaderField:@"User-Agent";
[urlRequest setHTTPMethod:@"DELETE"];
[urlRequest setTimeoutInterval:REQUEST_TIMEOUT];
[urlRequest addValue:@"correlID, msgId, usr-clientMessageId" forHTTPHeaderField:@"x-msg-require-headers"];
[urlRequest addValue:self.messageInfo.messageId forHTTPHeaderField:@"x-msg-msgId"];
[urlRequest addValue:@"Delivery" forHTTPHeaderField:@"applicationOrgin"];
[urlRequest addValue:@"" forHTTPHeaderField: @"x-msg-wait";
А фрагмент кода downloadTaskWithRequest выглядит следующим образом:
self.downloadTask = [self.urlSession downloadTaskWithRequest:urlRequest completionHandler:
^(NSURL *location, NSURLResponse *response, NSError *error){
FLog(@"received response for message type: %d and operation type: %d\n",self.messageType, self.requestType);
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
FLog(@"%ld for operation %d for request type %d",(long)[httpResponse statusCode],self.self.messageType,self.requestType);
FLog(@"response is %@",response);
NSHTTPURLResponse *httpresp = (NSHTTPURLResponse *)response;
NSString * origId = [[httpresp allHeaderFields] objectForKey:(@"x-msg-msgId")];
FLog(@"recieved response header %@",httpresp.allHeaderFields);
[self downloadCompletedWithResponse:response location:location error:error];
}];
[self.downloadTask resume];
Кто-нибудь сталкивается с тем жевопрос?Может ли любой орган, имеющий идею решить эту проблему