在iOS中解压文件

5
我有一个包含一些图片的.zip文件。我希望将其解压缩到iOS设备的文档目录中。我尝试了以下链接:在iOS中下载和解压缩文件-Stack Overflow这是我在应用程序中尝试的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                     NSUserDomainMask,
                                                     YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *filepath = [documentsDirectory stringByAppendingPathComponent:@"Obj.zip"];
ZipArchive *zipArchive = [[ZipArchive alloc] init];
[zipArchive UnzipOpenFile:filepath Password:@""];
[zipArchive UnzipFileTo:[documentsDirectory stringByAppendingPathComponent:@"Obj"] overWrite:YES];
[zipArchive UnzipCloseFile];

然后我打印了所有位于“文档目录”中的文件,但是只有一个文件(Obj.zip是要解压缩的文件)存在于文档目录中。我该怎么做呢?

提前致谢!


无法从文档目录中获取数据:检查我的答案:http://stackoverflow.com/questions/28060790/from-the-zip-file-not-able-to-fetch-data-from-the-document-directory - Kirit Modi
我尝试了,但文档目录中只有 obj.zip 文件。 - codebot
请查看此答案:https://dev59.com/A2gu5IYBdhLWcg3wbGil - dferreira
是的,已经勾选了。但是输出结果相同,没有文件存在。 - codebot
1个回答

9
使用SSZipArchive。这里是一个示例代码。https://github.com/soffes/ssziparchive
此外,我相信解压缩会在文档目录中创建一个包含文件的文件夹。请确认一下。
NSString *zipPath = [[NSBundle mainBundle] pathForResource:zipFileName ofType:@"zip"];
NSString *destinationPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath];

更新:从文档目录中获取zip文件

NSString *filename = @"MyZipFile.zip";
NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString * zipPath = [documentsDirectory stringByAppendingPathComponent:filename];

NSString *destinationPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath];

我的文件不在主捆绑包中。它也在文档目录中。 - codebot

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