J'ai NSURLSession qui télécharge plusieurs fichiers. Je met à jour une application ios 7 pour ios 8. Il fonctionne très bien dans ios 7, mais il est respecté contre ios 8 Le délégué meathodNSURLSession URLSessionDidFinishEventsForBackgroundURLSession gestionnaire jamais appelé ios 8. OK dans ios 7
URLSessionDidFinishEventsForBackgroundURLSession:
est jamais appelé.
Je creusé un peu plus profond et sur les
-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location
et
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
meathods délégué Je vérifie la session pour les tâches de téléchargement restant:
[self.session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks){ ...}
Le dernier délégué meathod appelé il y a toujours un élément remaniant dans le tableau downloadTasks. Ce qui est étrange, c'est que cette tâche de téléchargement ne fait pas toujours référence au même fichier, et l'état de ces tâches montre que le téléchargement est terminé.
Encore une fois, fonctionne très bien dans ios7. Le problème se produit uniquement dans ios 8.
Je peux confirmer ce problème. Il y a toujours une tâche à accomplir et cela interrompt l'implémentation. Problème est également discuté sur les forums d'Apple: https://devforums.apple.com/message/1047695#1047695 - semble que des bugs ont été classés: https://devforums.apple.com/message/1021734#1021734 – Krumelur