无法使用zip存档ios提取大于4 GB的压缩文件

时间:2013-05-14 12:45:28

标签: objective-c

我正在使用zipArchive sdk来解压缩文件。但是对于大于4gb的文件,UnzipOpenFile调用失败。请帮忙。

1 个答案:

答案 0 :(得分:1)

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

根据我的指示,您可以在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。