下载 & 解压缩
基本代码
- (void)download {
NSLog(@"开始");
// 1. url
NSURL *url = [NSURL URLWithString:@"http://localhost/321.zip"];
// 2. 下载
[[[NSURLSession sharedSession] downloadTaskWithURL:url completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) {
NSLog(@"%@ %@", location, [NSThread currentThread]);
}] resume];
}
运行测试:块代码回调结束后,下载的文件会被删除
原因分析:
- 一般从网络上下载文件,
zip压缩包会比较多 如果是 zip 文件,下载完成后需要:
- 下载压缩包
- 解压缩(异步执行)到目标文件夹
- 删除压缩包
下载任务的特点可以让程序员只关心解压缩的工作
解压缩
- 添加第三方框架
SSZipArchive - 添加动态库
libz.dylib - 解压缩
// 目录
NSString *cacheDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
[SSZipArchive unzipFileAtPath:location.path toDestination:cacheDir];
提示:解压缩只需要指定目标目录即可,因为压缩包中可能会包含多个文件