Swift:如何压缩多个 NSData 对象以进行进一步传输(Airdrop、Email、Dropbox ...)

Swift: How to zip multiple NSData objects for further transfer (Airdrop, Email, Dropbox...)

在我的 iOS Swift 应用程序中,我将图像作为 NSData 存储在 Realm 数据库中。现在我想将这些图像(或它们的子集查询)组合成一个 ZIP 文件,并使其可用于通过空投、电子邮件等进一步传输。

我很清楚如何传输以及如何将它们从数据库中取出,但我不知道如何从一堆 NSData 对象中创建一个 ZIP 文件。

在 Google 中更改了一些关键字进行搜索后,我发现了 2 个看起来很有趣的 Libs/Frameworks 我现在将开始调查。

ZIP from Marmelroy

ZipArchive

两者都可以在 GitHub 上找到。目前我对他们两个都没有什么大的经验。但是 ZipArchive 似乎有 NSData 支持选项,因为这已在自述文件

中说明

Zip-up NSData instances. (with a filename)

所以这对我来说可能是一个指标。

您可以简单地序列化和存档您的图像,而不是在 AirDrop 共享之前。参见 AirDropSample