适用于iPhone和Xcode 4的压缩/解压缩库

jak*_*kev 4 compression iphone objective-c ziparchive xcode4

我一直在研究一个需要从服务器上下载压缩文件的项目,并且我试图在iPhone上解压缩它.似乎有许多解决方案,如LiteUnzip,ZipArchive和其他一些解决方案,但没有一个像这两个显然有效.我遇到的问题是让他们中的任何一个在我的Xcode 4项目中工作.

LiteUnzip在C中,我使用它时遇到了极大的困难.如果您有任何关于如何使用它来解压缩单个压缩文件(包含大约60个文件)的示例代码,那就太棒了.

ZipArchive似乎是这里的最爱,但我不能让它编译没有错误.我下面的说明http://code.google.com/p/ziparchive/issues/detail?id=4,构建为iPhone静态库,但我不断地得到这些类型的错误:

Undefined symbols for architecture armv6:
  "_crc32", referenced from:
      -[ZipArchive addFileToZip:newname:] in libziparchive.a(ZipArchive.o)
      _unzReadCurrentFile in libziparchive.a(unzip.o)
Run Code Online (Sandbox Code Playgroud)

我发现的所有资源都在Xcode 3.2中成功构建,但我在Xcode 4中工作.

有没有人在Xcode 4中使用这些库中的任何一个成功?否则,你知道你成功的图书馆吗?

jak*_*kev 9

以下是我最终使用的内容:http://code.google.com/p/objective-zip/

我这样使用它:

#import "../Objective-Zip/ZipFile.h"
#import "../Objective-Zip/ZipException.h"
#import "../Objective-Zip/FileInZipInfo.h"
#import "../Objective-Zip/ZipWriteStream.h"
#import "../Objective-Zip/ZipReadStream.h"

ZipFile *unzipFile = [[ZipFile alloc] initWithFileName:zippedfile mode:ZipFileModeUnzip];
NSArray *infos = [unzipFile listFileInZipInfos];
Run Code Online (Sandbox Code Playgroud)

等......对于ZLib和MiniZip来说,它是一个非常简单的包装器.无需链接静态库或任何东西,只需导入标题然后去.