应用程序被杀后,使用NSURLSessionUploadTask恢复上传任务?

时间:2015-12-30 04:48:08

标签: ios objective-c nsurlsession nsurlsessionuploadtask nsurlsessionconfiguration

我使用以下代码使用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;

我是否使用正确的方法来识别会话标识符,或者还有其他方法来实现我的要求?

0 个答案:

没有答案