フォルダ内の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 を表示し、解凍していません。
シミュレーターフォルダーに移動して手動で解凍すると、すべての画像が完全に表示されます。
誰でもそれを調べて、どこが間違っているか教えてもらえますか?