Как разархивировать zip-файл, содержащий несколько папок, с помощью ssziparchive?

Я пытаюсь разархивировать папку с помощью библиотеки ssziparchive, которую я нашел по адресу: https://github.com/soffes/ssziparchive< /а>. Код, который я использовал:

 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-папка содержит три папки, которые сами содержат файлы и папки. Должен ли я выполнять какие-либо дополнительные действия, чтобы разархивировать файл?


person Deep Arora    schedule 28.11.2012    source источник


Ответы (1)


Будет ли этот код '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];

}
person david    schedule 28.11.2012
comment
ZIP-папка, которую я использовал, была повреждена. Код, который я использовал, работал, когда я использовал другую zip-папку. - person Deep Arora; 29.11.2012