iPhone和Xcode 4的压缩/解压缩库

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中使用这些库取得了成功吗?否则,你知道哪个库能够成功使用吗?


我在谷歌上搜索了_crc32符号,你是否包含了名为“zconf.h”的头文件? - AechoLiu
该头文件包含在ZipArchive.mm文件中。 - jakev
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包装器。无需链接静态库或其他任何东西,只需导入头文件即可。


1
Objective-zip已从code.google迁移到github。新链接:https://github.com/flyingdolphinstudio/Objective-Zip - krishnan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接