その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

ひとつのプロジェクトで複数の Bundle identifier を使い分ける方法

インハウスビルド用のエンタープライズアカウントとリリース用アカウントがある場合、

  • com.shu223.hoge(リリース用の Bundle ID)
  • com.shu223.hogeep(エンタープライズ用の Bundle ID)


といった感じで、同じアプリでありながら、2つの Bundle identifier を使い分ける必要があります。



Info.plistには Bundle identifier を一つしか設定できないので、次のような方法で使い分けることが考えられます。

  • In House ビルド用の Info.plist を追加し、Build Configuration を追加して Build Settings の "Info.plist File" で使用する Info.plist を指定する
  • In House ビルド用のターゲットを追加し、Build Settings の "Product Name" にそれぞれ別々のものを指定し、Info.plist の Bundle identifier は ${PRODUCT_NAME:rfc1034identifier} を用いて指定する


前者の方法だと、Info.plist に変更を入れる際に両方の Info.plist を変更する必要があり保守性が損なわれるので、後者の方法がおすすめです。