Objective-CでZipファイルを解凍する方法

zipファイルをダウンロードして、解凍する必要があったため、メモ

まずは、以下を使います。
http://code.google.com/p/ziparchive/

これをダウンロードしたら、プロジェクトに追加して、
libz.1.2.3.dylib
も追加します。
あと、展開するZIPファイルもプロジェクトに入れときます。

 NSString *path = [[NSBundle mainBundle] pathForResource:@"wallpaper" ofType:@"zip"];
    NSString *outdir = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];
    NSLog(@"%@",path);

    ZipArchive *za = [[[ZipArchive alloc] init] autorelease];
    [za UnzipOpenFile:path];

    BOOL ret = [za UnzipFileTo:outdir overWrite:YES];
    if(ret==NO) {
        // エラー処理
        NSLog(@"zip archive 解凍時にエラーが発生");
    }
    [za UnzipCloseFile];

    NSString *imagePath = [outdir stringByAppendingPathComponent:@"Dark-Souls_Wallpaper_1280X800.jpg"];
    NSLog(@"[%@]",imagePath);

    NSURL *url     = [[NSURL alloc] initFileURLWithPath:imagePath];
    NSData *data   = [[NSData alloc] initWithContentsOfURL:url];
    UIImage *image = [[UIImage alloc] initWithData:data];

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    [self.view addSubview:imageView];
    imageView.image = image;

    [imageView release];
    [url release];
    [data release];
    [image release];

解凍したファイルは、outdirで指定しているように、そのアプリ内のtmpディレクトリに展開されます。
シミュレータのディレクトリで確認できる。

展開後、ファイル名を指定してURLに変換し、それをデータとして受け取り、UIImageにする、と。
これで完了です。

【参考】
Objective-CでZipファイルを解凍してそれを活用する方法 | ssdkfk - http://ssdkfk.wordpress.com/2011/10/03/objective-c%E3%81%A7zip%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A7%A3%E5%87%8D%E3%81%97%E3%81%A6%E3%81%9D%E3%82%8C%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

【こっちもある】
iOSアプリ開発達人レシピ100より。
mattconnolly/ZipArchive - https://github.com/mattconnolly/ZipArchive

以上、ピザにはタバスコは付けない派の堀でした。