我想下载一个zip文件,其中包含一个文件夹,其中包含许多文件音频,用于在我的发音词典中使用。我使用ASIHTTPRequest来下载它,而我的问题是“我不知道如何解压该文件”。我试图使用SSZipArchive
和ZipArchive
他们都是基于minizip
,但当我编译代码Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipArchive", referenced from: objc-class-ref in AppDelegate.o
时出现错误。所以你可以给我一些建议在iOS中下载并解压缩文件
回答
我已经使用ZipArchive在过去的成功。它非常轻量级,使用简单,支持密码保护,ZIP内的多个文件,以及压缩解压缩。
的基本用法是:这个包here
我也曾在一些项目尝试SSZipArchive
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"ZipFileName" ofType:@"zip"];
ZipArchive *zipArchive = [[ZipArchive alloc] init];
[zipArchive UnzipOpenFile:filepath Password:@"xxxxxx"];
[zipArchive UnzipFileTo:{pathToDirectory} overWrite:YES];
[zipArchive UnzipCloseFile];
[zipArchive release];
更多的例子。 下面的行将解压缩您的zip文件。
[SSZipArchive unzipFileAtPath:path toDestination:destination];
后者的SSZipArchive单行版更容易imo,因为它也处理写作提取的文件。很简约。 – Hlung
优秀的答案! – Vivo
这是我从大约3个最重要的建议中评估的最简单,最轻量级的解决方案。 ZipArchive运作良好 – jcpennypincher
在iOS6上,ZIP文件似乎像文件夹一样处理。我不得不简单地做以下成功:
[[NSFileManager defaultManager] copyItemAtPath:[NSURL URLForCachesDirectoryWithAppendedPath:@"ZIP_FILE.zip/Contents/Test.m4a"].path
toPath:[NSURL URLForCachesDirectoryWithAppendedPath:@"Test.m4a"].path
error:nil];
有可能是一个机会,你甚至可以使一个目录列表与未知的内容解压文件。虽然不知道密码保护的ZIP文件。
首先,在iOS 7中,Apple引入了本地压缩/解压缩文件的功能。您也可以选择通过Mail,Messages,Airdrop和“Open in”发送zip文件。关键是:该zip文件必须得到iOS的支持。有些是,有些则不是。第一步:查明您的文件是否受支持。通过对新保存的文件的简单检查来完成此操作。尝试打开它。如果卡住“正在等待......”,则可能是,可能不支持。如果是这种情况,请尝试使用其他库或使用解决方法。
现在,以编程方式执行此操作目前需要使用第三方库来保存zip文件并将其解压缩。这并不理想,因为很多人/公司都避免使用它们。话虽如此,答案标记正确,ZipArchive是一个伟大的第三方工具,尤其是因为它现在支持Swift。我会推荐使用它,直到Apple推出一个本地库。
- 1. iOS - 已下载NSURLSessionTask解压缩文件
- 2. 下载并解压缩XML文件
- 3. 下载该压缩文件时自动解压缩文件
- 4. 如何在iOS上下载和解压缩文件
- 5. 从Bash脚本文件下载文件并解压缩
- 6. 如何(高度)压缩文件并解压缩iOS
- 7. 在游戏中解压缩ios文件
- 8. 在iOS中解压缩文件
- 9. 安卓:解压缩下载文件
- 10. IOS ASIHTTPRequest下载文件,然后解压
- 11. 在yii中压缩/解压缩文件
- 12. 在Ruby/Rails中下载,解压缩和解析文件
- 13. 解压缩文件并读取解压缩文件
- 14. Firefox扩展:下载并解压缩ZIP
- 15. gradle - 从url下载并解压缩文件
- 16. 使用Python下载并解压缩文件
- 17. php - 用curl下载zip文件并解压缩它?
- 18. 解压缩并移动下载的文件 - Linux
- 19. 下载并使用rubyzip解压缩远程zip文件
- 20. 上传压缩文件,解压缩并读取文件
- 21. 解压缩文件夹并从解压缩文件中获取图像
- 22. Python:将zip文件解压缩并解压缩.zip
- 23. R下载并解压缩文件以存储在数据框中
- 24. 如何在c#中下载并解压缩站点地图gz文件?
- 25. 压缩文件下载到实际的压缩文件中的文件结构
- 26. Rubymotion:在iOS中下载和解压ZIP文件
- 27. 解压缩后下载zip文件导致.cpgz文件
- 28. iOS iphone解压缩跨(多卷).7z或.zip压缩文件
- 29. 在iphone中以编程方式解压文件并解压缩文件?
- 30. 压缩文件未解压
你的错误意味着你正在使用一个iPhone模拟器的静态库... – 2012-07-04 17:44:22
@ H2CO3:我该如何解决它... –
你不能在仿真器上使用它,只能在真实的设备上使用。 – 2012-07-05 09:12:09