ZipArchive の使い方

2012/04/17

Zipファイルを解凍するには、「ZipArchive」を使うのが手っ取り早いと思います。

llibzライブラリ

ZipArchiveを利用するには、「llibz.1.2.5.dylib」が必要があります。 ZipArchive

ARC対策

ZipArchive はARC版がありませんので ARC対象からはずす必要があります。 ARCでプログラムする場合は、「ARC未対応のファイルを利用する」を参照して下さい。

サンプル

Documents ディレクトリの test.zipを解凍してみるサンプルです。 「UnzipOpenFile」と「UnzipFileTo」してやるだけで非常にシンプルです。

- (void)archiveContents {
    NSString *documentDirectory = [self documentDirectoryPath];
    NSFileManager* fileManager = [NSFileManager defaultManager];
    NSString *contentsPath = [NSString stringWithFormat:@"%@/%@", documentDirectory, @"test.zip"];

    ZipArchive  *archiver = [[ZipArchive alloc] init];
    if ([fileManager fileExistsAtPath:contentsPath]) {
        [archiver UnzipOpenFile:zipPath];
        BOOL isAchived = [archiver UnzipFileTo:documentDirectory overWrite:YES];
        if (isAchived) {
        } else {
        }
        [archiver UnzipCloseFile];
    } else {
    }
}