Kontinuierlich erhalten "Der Vorgang konnte nicht abgeschlossen werden" nach dem rekursiven POST-Aufruf AFNetworking

Ich rufe den POST Json-Webservice rekursiv auf, um fortlaufend Daten zum Service hochzuladen / herunterzuladen, bis alles abgeschlossen ist. Es kann bis zu 500-1000 Anfragen geben. Aber nach einiger Zeit bekomme ich immer weniger Fehler. -1012 ist am häufigsten, was ich bekomme.

Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x7ae056b0 {NSErrorFailingURLKey=https://api.XXX.com/XXX/XXX/, NSErrorFailingURLStringKey=https://api.XXX.com/XXX/XXX/}


Error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0x7ba8e5b0 {NSErrorFailingURLStringKey=, _kCFStreamErrorCodeKey=57, NSErrorFailingURLKey=, NSLocalizedDescription=The network connection was lost., _kCFStreamErrorDomainKey=1, NSUnderlyingError=0x7a6957e0 "The network connection was lost."}

Ich habe auf den folgenden Beitrag verwiesen, der besagt, dass es nur auf iOS8 passiert, aber ich steige sowohl auf iOS7 und iOS8 als auch auf Device / Simulator und Wifi / Lan ein.

Error Domain = NSURLErrorDomain Code = -1005 "Die Netzwerkverbindung wurde unterbrochen."

Below ist, wie ich in der Methode @ benut

-(void) callService {
    //counter list variable is already initialized earlier
    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:   
         [NSURL URLWithString:@"https://url.com/url"]];
    NSDictionary *params = @{@"id": counter,
                     @"data": [list objectAtIndex:counter]};
    NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET"
    path:@"http://url.com/url/url1/" parameters:params];
    AFJSONResponseSerializer *operation = [[AFJSONResponseSerializer 
           alloc] initWithRequest:request];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation 
        *operation, id responseObject) {
        //Process Data
        counter++;
        [self callService];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
        counter++;
        if(error.code == -1012 || error.code == -1005) {
            [self performSelector:@selector(callService) withObject:nil 
              afterDelay:5];
        } else {
            [self callService];
        }
    }];
    [operation start];
} 

Auch die Verbindung von der Serverseite zu schließen hat in diesem Fall geholfen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage