0

フォルダ内のzip/unzipファイルにobjective-zipを使用しています。私のフォルダには複数の画像、sqlite dbファイルなどが含まれています。これは私がダウンロードした場所からのリンクです

そして、zipフォルダーのコードも取得しましたこれはそのリンクです

フォルダの圧縮は完璧に行われていますが、解凍できません。これが私のコードです。

-(void)makeUnZip{
    NSString *stringPath1 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
    NSString *stringPath=[stringPath1 stringByAppendingPathComponent:[@"test" stringByAppendingFormat:@".zip"]];
    ZipFile *unzipFile = [[ZipFile alloc] initWithFileName:stringPath mode:ZipFileModeUnzip];
    NSArray *infos = [unzipFile listFileInZipInfos];
    for (NSString *file in infos) {

    ZipReadStream *readStream = [unzipFile readCurrentFileInZip];
    FileInZipInfo *fileInfo = [unzipFile getCurrentFileInZipInfo];
    NSString *fileName = [fileInfo name];


    NSLog(@"File Name--- %@",fileName);
    NSString *unzipFilePath = [stringPath1 stringByAppendingPathComponent:fileName];

    NSString *dir = [unzipFilePath stringByDeletingLastPathComponent];
    if (![[NSFileManager defaultManager] fileExistsAtPath:dir isDirectory:nil]) {
        [[NSFileManager defaultManager] createDirectoryAtPath:dir attributes:nil];
        NSLog(@"created directory %@", dir);
    }
    }

    [unzipFile close];
}

これは、解凍の参照を取得した場所からのリンクです

NSLog には、すべてのファイルに対して 1 つのファイル名しか表示されず、ドキュメント ディレクトリの zip ファイルが解凍されません。

たとえば、私の zip フォルダーには abc1.png、abc2.png、abc3.png の 3 つの画像が含まれており、NSLog は 3 つすべてに対して abc3.png を表示し、解凍していません。

シミュレーターフォルダーに移動して手動で解凍すると、すべての画像が完全に表示されます。

誰でもそれを調べて、どこが間違っているか教えてもらえますか?

4

1 に答える 1

0

最後に、SSZipArchiveでそれを行いました

Objective-Zip に関する十分なヘルプが見つかりません。コメントしてくれた kirti mali と vijay に感謝します。

于 2013-06-27T05:47:21.903 に答える