2

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フォルダーには、ファイルとフォルダーを含む3つのフォルダーが含まれています。ファイルを解凍するために追加の手順を実行する必要がありますか?

4

1 に答える 1

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

}
于 2012-11-28T09:35:51.780 に答える