さて、iPhone版マンガビューワですが、実は途中まで作ったものがあるのです。「ZIPファイルの一覧を表示」→「それを解凍して最初のページを表示」→「ピンチインで拡大縮小」&「ボタンクリックでページ送り」……というビューワとしての体裁をギリギリ保てるレベルまではできていました。

ところが、そこまで作ったところでいじる暇が無くなってしまい、そのまま1ヶ月以上経ってしまったため、細かいことはすっかり忘れてしまいました。

そこで復習も兼ねて最新SDKで作り直し、ついでに試行錯誤でグチャグチャになったクラス名などを整理し、さらにiPhone/iPad兼用のユニバーサルアプリにすることとします。

■プロジェクトの作成

まずはとりあえずユニバーサルアプリのプロジェクトを作成します。

ss100811_01

「ファイル」→「新規メニュー」を選び、「Product」のリストから「Universal」を選択します。他は「Window-based Application」を選び、「Use Core Data for storage」はオンにしています。

 

作成したプロジェクトにはすでにいくつかのフォルダ(グループ)と、ファイルが保存されています。

ss100811_03

ユニバーサルアプリのプロジェクト構成は、「iPhone用」と「iPad用」に分かれています。ようするにアプリを2つ作らなきゃいけないということです。アプリが起動するときはまず、「main.m」に書かれたコードが実行され、その後環境に合わせて、「AppDelegate_iphone.m」か「AppDelegate_ipad.m」のどちらかが実行されます。

■Zipファイルのためのライブラリを追加する

このアプリではZip圧縮したファイルを解凍する必要があるため、Zip編集用ライブラリのHetimaUnZipを使えるようにします。HetimUnzip改変版は以下のURLで公開されています。

http://d.hatena.ne.jp/hisaboh/20081220/p3

このライブラリは「zlib」というフレームワークを使用しているので、先にそれを取り込んでおきます。「Frameworks」を右クリックして、「追加」→「既存のフレームワーク」を選びます。

ss100811_05

ダイアログが表示されるので、上のリストで「動的ライブラリ」を選んで絞り込み、「libz.dylib」を選んで「追加」をクリックします。

ss100811_06

次にダウンロードしたHetimaUnZip改訂版のファイルを解凍し、それをフォルダごとXCodeのプロジェクトツリーにドラッグ&ドロップします。

するとこんな画面が出てくるので、「デスティネーションを……コピーする」をオンにして、「追加」をクリック。

ss100811_07

こういう感じにプロジェクトツリーに追加されます。

ss100811_08

■リソースファイルを追加する

続いてリソースファイルをプロジェクトに追加します。アプリ内で使用する画像ファイル2つと、動作テストに使うsamplebook.zipという書籍データを追加します。

Universalアプリのプロジェクトにはリソースを入れるためのフォルダがないので、「Resources」という名前のフォルダを作成します。ちなみに「フォルダ」と勝手に読んでいますが、XCode側での名称は「グループ」です。

ツリーのプロジェクト名を右クリックして「追加」→「新規グループ」を選択。ダイアログが表示されたらそこにグループ名(ここでは「Resources」)を入力します。後はそこにファイルをドラッグ&ドロップするだけです。

ss100811_09

 

■アプリケーションのプロパティリスト(plist)を設定する

アプリケーションの挙動やアプリアイコンなどは、プロパティリスト(plist)というもので設定します。

plistを設定するには、「Shared」フォルダの「(アプリ名)-Info.plist」を選びます。一覧表のどこかの行をクリックすると右側に「+」マークが表示されるので、これをクリックして新しい行を追加し、設定を行います。実はこのplistの操作方法、しばらく迷いました。追加ボタンは最初から出しといたほうがわかりやすいんじゃないでしょうか。

ss100811_10

設定した内容は以下のとおりです。

  • 「Localization native development 」を「Japan」に
  • 「Application supports iTunes file share」を「オン」に
  • 「Status bar is initially hidden」を「オン」に

Application supports iTunes file share……はiOS4で追加された新機能で、iTunesからアプリのドキュメントフォルダを直接いじれてしまうというありがたいものです。チェックをオンにするだけで使えてしまうというのが面白いですね。

 

さて、話はまだまだ続きますが、かなり長くなったのでここでいったんページを改めましょう。