在没有 URL 的情况下使用 ZIPFoundation

Using ZIPFoundation without URL

在我的 MacOS 应用程序中,我正在将加密的 .zip 文件下载到磁盘。我解密这个文件,并将解密后的版本以 Data 类型保存在内存中。出于安全原因,解密后的 .zip 只会保存在内存中。

我可以成功使用 ZIPFoundation 的基于闭包的读取来提取内存中的文件内容,但只能使用 URL 指向磁盘上的(已解密).zip :

guard let archive = Archive(url: url!, accessMode: .read) else { return }

有什么方法可以将库与仅存在于内存中的数据一起使用?如果没有,你能告诉我一个可以处理这个问题的图书馆吗? 我已经尝试过 DataCompression,但我无法让它工作。

有一个(非合并的)拉取请求打开,它将 ZIP 存档的内存处理添加到 ZIP Foundation。
遗憾的是,在内存中写入存档仍然存在一些未解决的问题。阅读部分正在使用 fmemopen,应该已经可以使用了。
PR还没完,大家可以看这里:https://github.com/weichsel/ZIPFoundation/pull/78/