Я использую следующий код для загрузки изображения с помощью 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;
Я использую правильный метод для определения идентификатора сеанса или есть какой-то другой метод для реализации моего требования?