如何使用ssziparchive解压缩包含多个文件夹的zip文件?

时间:2012-11-28 09:18:48

标签: ios unzip ssziparchive

我正在尝试使用我在https://github.com/soffes/ssziparchive找到的ssziparchive lib解压缩文件夹。我使用的代码:

 NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *zipFilePath = [documentsDirectory stringByAppendingPathComponent:@"ZippSecretExcel.zip"];
     NSString *unzipFilePath = [documentsDirectory stringByAppendingPathComponent:@"UnZipSecretExcel"];
    BOOL
    status = [SSZipArchive unzipFileAtPath:zipFilePath toDestination:unzipFilePath];
    if(status)
    {
        NSLog(@"File successfully uncompressed");
    }
    else{
          NSLog(@"File failed to compressed"); 
    }

我检查了ZippSecretExcel存在于项目文档目录中,但上面的代码无法解压缩。程序编译并且没有错误或崩溃。我的zip文件夹包含三个文件夹,其中包含文件和文件夹。我是否必须执行任何其他步骤来解压缩文件?

1 个答案:

答案 0 :(得分:0)

此代码' status = [SSZipArchive unzipFileAtPath:zipFilePath toDestination:unzipFilePath];'首先为目标路径创建一个目录?..

如果没有,请在解压缩之前使用以下代码创建文件夹

BOOL isDire = YES;
NSFileManager *fileManager = [NSFileManager defaultManager];            
if(![fileManager fileExistsAtPath:unzipFilePath isDirectory:&isDire]){

[fileManager createDirectoryAtPath:unzipFilePath withIntermediateDirectories:YES attributes:nil error:NULL];

}