Возобновить задачу загрузки с помощью NSURLSessionUploadTask после того, как приложение будет убито?

Я использую следующий код для загрузки изображения с помощью NSURLSessionUploadTask

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];

NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", error);
    } else {
        NSLog(@"Success: %@ %@", response, responseObject);
    }
}];
[uploadTask resume];

Мой файл правильно загружается на сервер, но если приложение будет уничтожено в процессе загрузки, я не смогу восстановить состояние загрузки, получив идентификатор сеанса, а затем возобновив его.

После поиска в Google я обнаружил, что метод делегата ниже будет вызываться (после перезапуска моего приложения), если моя загрузка будет прервана, но этот метод, похоже, не вызывается в моем случае.

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
                           didCompleteWithError:(nullable NSError *)error;

Я использую правильный метод для определения идентификатора сеанса или есть какой-то другой метод для реализации моего требования?


person Rahul Mathur    schedule 30.12.2015    source источник
comment
как только ваше приложение будет убито, вы не сможете возобновить задачу загрузки... вы должны перезапустить его   -  person Divyanshu Sharma    schedule 30.12.2015
comment
@DivyanshuSharma Думаю, я получу идентификатор задачи, которая была прервана, а потом как-нибудь возобновлю ее.   -  person Rahul Mathur    schedule 30.12.2015