2013-06-10 4 views
7

Ich bin mit Erreichbarkeits Code of Tony Million und in dem unerreichbaren Block Ich versuche, um den Download zu pausieren, aber jedes Mal, wenn der Internet-Disconnects vor dem Download wird pausiert AFNetworking kehrt mit Versagen mit Fehlermeldung „die Netzwerkverbindung verloren wurde“ so nicht in der Lage den Download wieder aufnehmen, so sollte was getan werden?Objective C - Das Verbindungsnetz wurde „Fehler verloren, während das Herunterladen von Dateien mit AFNetworking

Das ist, was ich in Anwendung Delegierter getan haben

__weak MTCAppDelegate *weakself = self; 
Reachability * reach = [Reachability reachabilityWithHostname:@"www.google.com"]; 


reach.reachableBlock = ^(Reachability * reachability) 
{ 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     [[AFDROSingleton sharedInstance] resume]; 
     for (UIView *subview in [weakself.window subviews]) { 
      if (subview.tag == 20) { 
       [subview removeFromSuperview]; 
      } 
     } 
    }); 
}; 

reach.unreachableBlock = ^(Reachability * reachability) 
{ 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     MTCReachability *reach = [[MTCReachability alloc] initWithFrame:weakself.window.frame]; 
     [reach setTag:20]; 
     [weakself.window addSubview:reach]; 
     [weakself.window bringSubviewToFront:reach]; 
     [[AFDROSingleton sharedInstance] pause]; 
    }); 
}; 

[reach startNotifier]; 
+0

so? Was ist das Problem? –

+0

Lesen Sie die Frage sorgfältig ... –

+2

Überprüfen Sie AFDownloadRequestOperation, die eine Menge Unterstützung für das Herunterladen und Fortsetzen von Dateien erstellt. Nach diesem Vorgang können Sie die Downloads nach einem Netzwerkausfall fortsetzen. https://github.com/steipete/AFDownloadRequestOperation –

Antwort

1

Es gibt einen Erreichbarkeitscode aus dem Apple-Beispiel, der auf ARC aktualisiert wurde.

Ich habe es in das Erreichbarkeitsprojekt in Xcode 4.6.3 eingefügt. Wenn Sie interessiert sind, kann ich Ihnen Ihren Weg schicken, wenn Sie es brauchen.

+1

ja bitte sende mich; Meine E-Mail-Adresse lautet [email protected] Wenn das funktioniert, werde ich diese Antwort annehmen –

+0

Nur per E-Mail. Prost. Ich habe damit herumgewirbelt. Bitte zögern Sie nicht, meine Änderungen zurück zu ändern. Ich habe Zeilen 41+ in applicationDidFinishLaunching im AppDelegate auskommentiert. –

+0

Quamber, hat das für dich geklappt? –

Verwandte Themen