mabots' blog

知のレバレッジを最大化せよ (旧はてなダイアリーから移転しました。)

iOS アプリケーションを社内配布する時に検討すべきことまとめ。iOS Developer Enterprise Program 比較


社内でアプリケーションを配布したい、が、adhoc 配布で利用できるデバイス数の限界に到達してしまった場合等に iOS Developer Enterprise Program *1を利用できるといえばできるのですが、いろいろ制約事項があったり運用について考える点があったりします。

そこで表やら運用上注意すべき事項を洗い出してみました。

表にしてみる

比較軸 iOS Developer Program iOS Developer Enterprise Program
概要 App Store に公開するために利用 社内アプリ等 App Store を経由せずにアプリを流通させたい時に利用
複数アカウント購入 1社1アカウント 制約はなさそう
Debug のための Device 数の制限 有り。100 有り。100*2
OTA 配布は可能か? 可能。adhoc 配布となる 可能。無制限の端末に配布ができる*3
バイナリでの配布は可能か? 可能 可能 *4
コスト 8,400円/年 24,800円/年・アカウント
Member Center 有り 有り
Provisioning Portal 有り 有り
iTunes Connect 有り 無し
In App Purchase 有り 無し
流通先の制限 App Store を経由か 100端末に限定 自社或いはサブコントラクタに限定。配布数自体に制約は無い
アカウント取得時の D-U-N-S NUMBER 法人の場合は必須*5 必須
APP ID (=Bundle Identifier) アプリケーション毎に Unique である必要がある 通常の Developer Program と共通の制限がある

注意事項

  • 注釈でも記載のとおり、Ad hoc 配布や Debug のため実機を登録すると Device 数を消費する
    • Xcodeデバッグ目的の場合は 100 端末数単位で必要な数を購入する必要があるだろう
  • In app purchase 等 App Store に依存する機能は利用できない
    • このテストには、通常の iOS Developer Program を利用する運用にする必要があるだろう
  • 受託業務の時にクライアントに対して配布する場合は、当該クライアントにライセンスを購入してもらう必要がある点が注意事項となる*6。対象ユーザーはあくまで自社の従業員のスコープで検討すべき。
  • iOS Developer Programと併用したい場合はどうなるのか?
    • という点だが、iOS Developer Program ですでに Apple ID を利用している場合は、別な Apple ID を作成して当該 Apple ID から別途申請する必要がある。
      • 別アカウント・別契約と考えたほうが良い。
  • APP ID (=Bundle Identifier)については、iOS Developer Enterprise Program でも iOS Developer Program 共通の名前空間に存在しており、同様の制限を受ける
    • このため CI 環境を構築するなどして、APP ID (=Bundle Identifier) やアプリケーション署名を自動的に切り替えながらビルドすると幸せになれるだろう。
  • (免責) 記載事項は予告なく更新されることがあるので最新の状況についてはご自身で検討されることを推奨

*1:詳細はこちら https://developer.apple.com/jp/programs/ios/enterprise/

*2:つまりデバッグ目的では複数のライセンスを購入することになるだろう

*3:端末事前登録を要求しない、Device 数制限に抵触しないという意図。数年前は500台という制限があった模様。

*4:手続きとしては通常同様に provisioning profile と app ファイルの配布となる

*5:https://developer.apple.com/jp/support/ios/D-U-N-S.html

*6:こちらでも明示されている https://developer.apple.com/jp/support/ios/enterprise.html