在 iOS 中解压缩文件

Unzip Files in iOS

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

download and unzip file in 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];

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

提前致谢!

使用 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];