【问题标题】:Compression/Decompression library for the iPhone and Xcode 4iPhone 和 Xcode 4 的压缩/解压缩库
【发布时间】:2011-04-14 03:58:41
【问题描述】:

我一直在从事一个需要从服务器下载压缩文件的项目,并且一直试图在 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”的头文件?
  • 该标头包含在 ZipArchive.mm 文件中。

标签: iphone objective-c compression xcode4 ziparchive


【解决方案1】:

这是我最终使用的: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 的非常简单的包装器。无需链接静态库或任何东西,只需导入标题即可。

【讨论】:

猜你喜欢
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多