iOSアプリでzipファイルの解凍を行う方法(SSZipArchive)

サーバからiPhoneに大きなファイルをダウンロードする場合、zip圧縮して通信容量を削減することは少なくない。
今回は、iOSアプリでzipファイルを解凍する方法を紹介する。

<手順概要>
1.ライブラリSSZipArchiveをダウンロードする
2.ライブラリSSZipArchiveをプロジェクトに追加する
3.ライブラリlibz.dylibをプロジェクトに追加する
4.ライブラリSSZipArchiveを使用してzipファイルを解凍する

<手順詳細>
1.ライブラリSSZipArchiveをダウンロードする
下記URLのgithubからソースコードを取得する。
https://github.com/soffes/ssziparchive

2.ライブラリSSZipArchiveをプロジェクトに追加する
手順1でダウンロードしたzipファイルを解凍し中身を確認すると、下図の様なファイルが存在する。

この中でプロジェクトに追加するのは、「SSZipArchive」配下にあるファイル・フォルダである。

Xcodeのプロジェクトツリーの最上部で右クリックし、「Add Files to "プロジェクト名"」を押下する。

表示されたダイアログで、「SSZipArchive」を選択し、プロジェクトに追加する。

プロジェクトツリー上に「SSZipArchive」が追加されていることを確認する。

3.ライブラリlibz.dylibをプロジェクトに追加する
SSZipArchiveはlibz.dylibを使用しているので、プロジェクトに追加する必要がある。

Xcodeのプロジェクトツリーの最上部をクリックし、TARGETSでプロジェクト名を選択する。
さらに「General」タブを選択し、その下方にある「Linked Frameworks and Libraries」の「+」を押下する。

表示されたダイアログ上で「libz.dylib」を選択し、「Add」ボタンを押下する。

プロジェクトツリー上に「libz.dylib」が追加されていることを確認する。

4.ライブラリSSZipArchiveを使用してzipファイルを解凍する
ソースコード

//使用するクラスで「SSZipArchive.h」をインポートしておくこと

BOOL isSuccess = [SSZipArchive unzipFileAtPath:<解凍対象のzipファイルのパス>
                                 toDestination:<解凍したファイルを格納するフォルダ>];

isSuccessには解凍処理の成否が格納される。

Enjoy Programing!!

<お勧め書籍>

詳解 Objective-C 2.0 第3版
iOSアプリ開発技術者として仕事をするのであれば、必ず読んでおくべき書籍である。
筆者も何度も繰り返し精読している。