iOS / Objective-C读取4GB或更大的Zipped存档库?

时间:2012-10-15 15:22:39

标签: iphone objective-c ios zip

我尝试过使用:

  1. 目的-Zip的
  2. ZipKit
  3. 两人都说他们有能力阅读4GB或更大的压缩档案。有没有人能够使用上面提到的库之一读取非常大的压缩内容?

    如果你知道一个更好的压缩档案库,请告诉我。

2 个答案:

答案 0 :(得分:0)

只要zip库支持PKWare的ZIP64扩展,那么它应该能够处理超过4GB的大文件。

  1. Objective-Zip使用支持ZIP64的minizip 1.1。
  2. ZipKit网站声明它支持ZIP64扩展。
  3. 这两个库都应该有效。我有使用minizip 1.1的经验,我确信它支持大文件。

答案 1 :(得分:0)

我遇到了同样的问题并试图在几天内解决它。 最后,我解决了它。

根据我的指示,您可以在iOS中解压缩大文件(甚至8GB)而不会出现任何问题。

这是如何解决它的逐步说明:

1)从https://github.com/flyingdolphinstudio/Objective-Zip

下载Objective-Zip

2)从https://github.com/nmoinvaz/minizip

下载MiniZip

3)从minizip文件夹(您在步骤2中下载)获取4个文件 - ioapi.c,ioapi.h,unzip.c,unzip.h - 并将其粘贴到Objective-Zip / MiniZip文件夹(覆盖文件) )。

4)转到Objective-Zip / Objective-Zip / ZipFile.m并替换此字符串

int err= unzLocateFile(_unzFile, [fileNameInZip cStringUsingEncoding:NSUTF8StringEncoding], 1);

到这个

int err= unzLocateFile(_unzFile, [fileNameInZip cStringUsingEncoding:NSUTF8StringEncoding], (unzFileNameComparer)1);

5)最后,将Objective-Zip添加到您的项目并快乐解压缩! :)

现在您可以在iOS中解压缩大文件了。我检查了8GB-zip,一切都像魅力一样!

P.S。:Objective-Zip的开发者会尽快使用我的修复程序对其进行更新,因此该指令仅适用于Objective-Zip 0.8.1。