4

我一直在从事一个需要从服务器下载压缩文件的项目,并且一直试图在 iPhone 上解压缩它。似乎有许多解决方案,例如LiteUnzipZipArchive和其他一些解决方案,但没有一个像这两个那样明显有效。我遇到的问题是让它们中的任何一个在我的 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)

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

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

4

1 回答 1

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];

等等......它是 ZLib 和 MiniZip 的一个非常简单的包装器。无需链接静态库或任何东西,只需导入标头即可。

于 2011-04-22T03:15:09.577 回答