【问题标题】:Unzip Files in iOS在 iOS 中解压缩文件
【发布时间】:2015-03-19 15:02:44
【问题描述】:

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

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 是要解压缩的文件)。我该怎么做?

提前致谢!

【问题讨论】:

标签: ios objective-c ziparchive


【解决方案1】:

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

【讨论】:

  • 我的文件不在主包中。它也在 Documents 目录中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-30
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
相关资源
最近更新 更多