deleted-mezhevikin
@deleted-mezhevikin

Сохранение загруженных данных в NSURLSessionDownloadTask при завершении процесса приложения?

Нашел хороший пример работы с новым NSURLSession : iOS7_Multitasking .

В примере реализована функиция остановки загрузки и сохранения resumeData для последующей докачки:

- (void) stopDownloadWithTaskIdentifier:(NSUInteger)taskIdentifier
{
    KDownloadInfo *di = [self.downloadInfoDictionary objectForKey:kDownloadInfoKey(taskIdentifier)];
    if (di && di.downloadTask) {
        [di.downloadTask cancelByProducingResumeData:^(NSData *resumeData) {
             NSLog(@"RESUME DATA %@", resumeData);
            if (resumeData) {
                di.resumeData = resumeData;
            }
        }];
    }
}


Если начать загрузку и вызвать метод по тапу на кнопку stop, то в обработчике cancelByProducingResumeData resumeData будет не пустой.

Если вызвать метод по событию UIApplicationWillTerminateNotification, то есть начать загрузку и убить процесс приложения, то resumeData всегда пустая.

Почему так происходит и как добиться сохранение процесса загрузки при завершении приложения?
  • Вопрос задан
  • 2700 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы