開発版と既にリリース済みのAppStore版、2つのバージョンをビルドして1つのデバイスに同時にインストールするシンプルな方法の紹介。
方法は簡単で、まず区別しやすいようにそれぞれでアイコンを作り、2種類のバンドルIDを用意しておく。後者がApp IDとなりインストール時に別々のアプリとして区別される。
次にビルド設定でプリプロセッサ用の置換文字列を定義する。これは User-Defined で定義できる。ビルド条件として、Debug, Release、例ではAppStoreの3つが定義されている。ビルド時の条件によってそれぞれの値が使われる。
最後に Info.plist のバンドルID、アイコン指定の箇所で定義しておいた置換文字列を指定する。
例えばアイコンだと ${APP_ICON_NAME}@2x.png、${APP_ICON_NAME}.png とすれば、ビルド時に2種類のアイコンを使い分けられるようになる。
この方法ならアプリ名称の使い分けもできそう。
なお Xcode5 だと User-Defined の追加用のボタンが消えてしまっている(Xcode4だと設定の下バーに配置)。これはメニューから追加できる。
(参考)Xcode 5: Adding Conditional and User-Defined Build Settings