在iOS中解压缩文件

cod*_*bot 3 objective-c ziparchive ios

我有一个.zip文件夹,其中包含一些图像.我希望它解压缩到iOS设备中的Documents目录.我尝试了以下链接,

在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];
Run Code Online (Sandbox Code Playgroud)

然后我打印了所有文件Document Directory,但是文件目录中Obj.zip存在的唯一文件(Obj.zip是要解压缩的文件).我怎么能这样做?

提前致谢!

Gan*_*ani 8

使用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];
Run Code Online (Sandbox Code Playgroud)

更新:从文档目录中获取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];
Run Code Online (Sandbox Code Playgroud)