Durch den Aufruf von AFHTTPSessionManager.downloadTasks in AFNetworking 2 wird der Haupt-Thread angehalten

8

Ich habe eine Singleton-Klasse, die einen AFTHTPSessionManager * fileTransferSessionManager enthält. Darin möchte ich manchmal alle Downloads abbrechen, bevor ich sie neu starte, indem ich die DownloadTasks durchlaufe und sie abbringe. Das Problem ist, dass wenn das downloadtasks-Attribut aufgerufen wird, der Haupt-Thread beim Ausführen von Downloads einfriert.

%Vor%

Ruft diese Methode auf, die den Hauptthread einfriert, da getTasksWithCompletionHandler mit dispatch_semaphore_signal (Semaphor) nie aufgerufen wird:

%Vor%

Ich habe das Problem bis auf self.session getTasksWithCompletionHandler verfolgt: Niemals seinen Block eingeben, und deshalb wartet dispatch_semaphore_wait buchstäblich ewig darauf, den Haupt-Thread zu entsperren.

Was die Ursache dafür sein kann, bezweifle ich, dass es ein Fehler im Apfelrahmen ist, deshalb frage ich hier, bevor ich es abschicke. Habe ich irgendwelche offensichtlichen Fehler gemacht, die dieses Problem verursachen könnten?

    
hakonbogen 24.03.2014, 15:30
quelle

0 Antworten