Universal Application

ちょっと間が空いてしまったが、第2弾。
前回も書いた通り、アプリをiOS4.0以上が動作しているデバイス全てに対応させたい。
かなりおおざっぱに言うと、iPhoneiPad両方に対応させたいとも言える。
この「両対応」をする為にAppStoreで公開されているアプリは、以下の2通りのいずれかの方法を採っているようだ。

  1. iPhone/iPod touch用アプリ"XXXX"とiPad用アプリ"XXXX HD"をそれぞれ公開。
  2. iPhone/iPod touch/iPad用アプリ"XXXX"を公開。

この2.の形式を"Universal Application"というらしい。
今まできちんと調べていなかったから知らなかったんだけどUniversal Applicationでは"iPhone(iPod touch)用アプリ"と"iPad用アプリ"それぞれのバイナリを1つのバイナリに統合している。
統合っていうとちょっと御幣があるのかな?
要するに2つの異なるアプリを1つのファイルに詰め込んでいる。プログラム内でデバイス名とか画面サイズとかOSバージョンとかを取得して分岐しているのかと思っていたんだけど、そうじゃなくて、別々のアプリとして書くみたい。
(もちろん、iPhone用アプリの中では分岐が必要なことがあると思うが)
さて、ここで自作アプリを上の1. 2.のどっちの方法で両対応させるかだが、今回は、1.の方法を採ることにした。
理由としては、

  • なるべく早く公開したいけど、まだiPad用のiOS4.2がリリースされてない。
  • どうせiPhone用/iPad用それぞれのプログラムを書くならプロジェクトが別の方が判りやすい。(と思う)
  • バイスにインストールした時に無駄な容量を食わない。(Universal Appにすると半分はいらないバイナリになるよね?)

といったところかな。
まあ、大した理由じゃないと言われてしまえばそうかもしれない。。

一応、方針が決まったのでまずはiPhone/iPod touch用のアプリから作っていくことにする。
(しかし、現在ベースが出来ているのはiPad用だったりする。。。)