try fileManager.unzipItem(at: sourceURL, to: destinationURL)
一个带有上下文的完整示例如下所示:
let fileManager = FileManager()
let currentWorkingPath = fileManager.currentDirectoryPath
var sourceURL = URL(fileURLWithPath: currentWorkingPath)
sourceURL.appendPathComponent("archive.zip")
var destinationURL = URL(fileURLWithPath: currentWorkingPath)
destinationURL.appendPathComponent("directory")
do {
try fileManager.createDirectory(at: destinationURL, withIntermediateDirectories: true, attributes: nil)
try fileManager.unzipItem(at: sourceURL, to: destinationURL)
} catch {
print("Extraction of ZIP archive failed with error:\(error)")
}
5条答案
按热度按时间qvsjd97n1#
我最近发布了一个Swift原生框架,允许您创建、读取和更新ZIP存档文件:ZIP Foundation.
它内部使用libcompression以获得出色的压缩性能。
解压缩文件基本上只有一行:
一个带有上下文的完整示例如下所示:
README on GitHub包含了更多的信息。所有的公共方法都有完整的文档,可以通过Xcode快速帮助获得。
我还写了一篇关于here性能特征的博客文章。
mbjcgjjk2#
我刚刚找到了下面这个名为Minizip的库。
你可以使用Zip framework来解压缩你的文件。
样本代码
如果不适用于minizip,可以使用ZipArchive,它不是用swift编写的,而是用Objective-C编写的
q3qa4bjr3#
我用SSZipArchive和一个桥接头来处理它:
1.将SSZipArchive目录拖放到项目中
1.创建一个{项目-模块-名称}-桥接标题.h文件,其中包含行***import“SSZipArchive. h”***
1.在构建设置中,拖动Swift编译器-代码生成-〉Objective-C桥接头中的桥接头。
1.在Swift代码中使用SSZipArchive。
vwoqyblh4#
此代码将文件下载到文档目录并解压缩zip文件
不要忘记安装ZIPFoundation
y1aodyip5#
使用此library,您可以使用以下行:
如果需要更多帮助,请查看存储库。