我有一个NSURLSession
和一个NSURLSessionDownloadTask
配置为在后台下载文件,如果用户取消了所有数据的下载任务并释放了文件使用的存储空间,但如果应用程序从多任务坞站关闭,则下载任务终止并给出错误但没有删除数据并且文件的临时数据仍在占用存储空间并且永远不会被释放。我需要做什么才能释放空间?
这是我的NSURLSession
配置和错误处理:
- (NSURLSession *)backgroundSession {
static NSURLSession *session = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURLSessionConfiguration *configuration;
if ([[UIDevice currentDevice].systemVersion hasPrefix:@"7"]) configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.visyon.pr"];
else configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.visyon.pr"];
configuration.sessionSendsLaunchEvents =YES;
session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
});
return session; }
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error {
if (error == nil) {
NSLog(@"Task: %@ completed successfully", task );
} else {
// [self hideActivity];
// [self showAlertBoxErrorDownload];
NSLog(@"Task: %@ completed with error: %@, %lu", task, [error localizedDescription], (long)error.code);
} self.downloadTask = nil; }