2

我正在使用 下载多个文件,即使在取消下载任务NSURLSession时我也想保存下载的数据,并且在恢复时想要开始下载剩余数据。我的

- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask
    didReceiveData:(NSData *)data

没有被调用。

这个我的代码下载:

sessionConfig =[NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"Download Manager"];

sessionConfig.allowsCellularAccess=!_UseOnlyWiFi;

sessionConfig.HTTPMaximumConnectionsPerHost=1;

queue.maxConcurrentOperationCount=1;

session =[NSURLSession sessionWithConfiguration:sessionConfig
                                                         delegate:self
                                                    delegateQueue:[NSOperationQueue mainQueue]];


NSURLSessionDownloadTask *downloadTask=[session downloadTaskWithURL:dwurl ];

[downloadTask resume];
4

2 回答 2

0
`you have implemented datatask delegate but created download task implement this`

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask
                                       didWriteData:(int64_t)bytesWritten
                                  totalBytesWritten:(int64_t)totalBytesWritten
                          totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite;
instead of
(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data 
于 2014-12-04T06:28:15.790 回答
0

也许你可以尝试使用

cancelByProducingResumeData:

它在Apple文档上说:

Cancels a download and calls a callback with resume data for later use.
于 2014-12-04T13:13:36.240 回答