2021.3.8

カスタムApp(CustomApp)とは何か(1) 〜非公開アプリをリリースする唯一の方法〜

(最終更新日 : 2021/3/15)

カスタムAppは、企業内で使用する業務用アプリを非公開に配信する配布方法です。


(カスタムAppの申請・配信フロー。本稿では概要を解説する)

従来はADEPを使ったInHouse配布が主な手段でした。しかし今後はカスタムAppが主流となります。現在ADEPの新規契約はできなくなっていますし、契約済の企業であってもカスタムAppへの移行を余儀なくされる見込みですので、「ウチはADEPがあるからカスタムAppは関係ない」とはいきません。(参考 : ADEPはもう取得することができないと諦めたほうが良い理由)

アプリ開発会社もエンドユーザ企業も、業務用アプリを開発するならカスタムAppを理解しておく必要があります。そこで、これから何回かに分けてカスタムAppについて詳細を解説していこうと思います。以下目次。本稿では最初の3つをとりあげます。

 

カスタムAppはどんな時に必要か

カスタムAppは業務用アプリを非公開で配布したい時に必要となります。特定の企業業務に特化したアプリで、例えば

  • ある企業の営業担当が使う見積機能付き専用アプリ
  • フィールドエンジニアが現場で使う定期点検アプリ
  • 商業施設に常設するiPadで動作させる案内アプリ
  • 従業員に配布する社内広報のデジタル版アプリ

などが考えられます。一方、以下のようなケースではカスタムAppは適切ではありません。

ケース 採用すべき配布方法
PoCや検証のための開発で本番リリースの意図はないアプリ AdHoc, TestFlight
B2B向けの自社サービス用のクライアントアプリ AppStore公開
通知・オフライン・TCP/IP通信などネイティブ機能が不要なアプリ Webアプリ(MDM+WebClip)

アプリが「特定の」企業向けでなかったり、テスト目的のものだったり、そもそもネイティブの機能を使わない場合ですね。ただ、あまり細かく覚える必要はありません。ざっくりとで大丈夫です。

従来、アプリの「公開 or 非公開」で「AppStore or ADEP」と考えていたのを


(非公開=ADEPという従来認識)

これからは、「AppStore公開アプリ or カスタムApp」 の二択で考えるということだけおさえておけば十分です。


(非公開=カスタムAppという新しい認識。ADEPは選択肢に入れない)

これまで ADEP による InHouse アプリが担っていた役割をカスタムAppが担うことになります。ADEP取得済み企業でない限り、今後ADEPのことを考える必要はもうないのですね。

2021年現在、アプリ開発にADEPが思い浮かんだら、それはカスタムAppにすべきと考えて下さい。

 

カスタムAppも実はAppStoreアプリ

カスタムAppもAppStoreに登録申請するアプリです。「え?AppStoreに申請するならAppStoreアプリから見られてしまうのでは?AppStoreって公開でしょ?」と思った人もいるでしょう。

でも実は違います。AppStoreのアプリには

  • 公開アプリ(AppStoreアプリから取得できるアプリ)
  • 非公開アプリ(これがカスタムApp。AppStoreアプリからは取得できない)

の大きく2種類があって、それぞれ公開領域と非公開領域に分けてAppStore内に置かれています。その様子を超簡略的な図にすると以下の通り。


(AppStoreには公開領域だけでなく企業毎の非公開領域がある。A社用はA社にしか見えない。AppStoreアプリからも見えない)

普段わたしたちが一ユーザとして見ているのはAppStoreの一部に過ぎません。100万個を超える公開アプリの裏に、企業毎に区切られた非公開アプリ領域が存在します。この非公開領域に登録されている非公開アプリのことをカスタムAppといいます。

ただ、疑問は湧いてきますよね。

そもそも、AppStoreに自社用の非公開アプリ領域をどうやって作って貰うのか、その非公開アプリ領域にどうやってアプリを登録するのか、申請はどうなるのか、課金はどうなるのか、その領域に登録されたアプリをどうやって端末に配布するのか…etc

全部説明するとかなり長くなりますので、今後の投稿で順にご紹介する予定です。ひとまずここでは、AppStoreには非公開アプリが存在しそれをカスタムAppということ、カスタムAppを登録する企業毎の非公開領域がAppStore内に存在することを覚えておいて下さい。

本稿の最後に、カスタムAppを概観するため他の配布方法と比較しておきたいと思います。

 

カスタムApp・AppStore公開・InHouseアプリの違い

それぞれの違いを、開発側と受取側(ユーザ)とに分けて整理しておきましょう。まず開発側。

開発側

  カスタムApp AppStore公開アプリ InHouseアプリ
必要な契約 ADP ADP ADEP
年間費用 ¥11,800 ¥11,800 ¥37,800
Provisioning Profile AppStore AppStore InHouse
再署名 不要 不要 必要(1年に1回)
申請・審査 必要 (非公開を選択) 必要 (公開を選択) 不要
有償アプリ 可能 可能 不可

開発側から見ると、AppStore公開アプリとInHouseアプリは何から何まで違うのに対して、AppStore公開アプリとカスタムAppは基本同じですね。違いは「公開」か「非公開」か。カスタムAppは、これまでの公開アプリと同じ開発フローで進めて、最後の最後に配信設定を「非公開」にするだけです。


(カスタムAppかどうかはADPの配信設定画面の一フラグに過ぎない)

次に受取側。

受取側(ユーザ側)

  カスタムApp AppStore公開アプリ InHouseアプリ
必要な契約 ABM
テスト配布手段 AdHoc配布
TestFlight
AdHoc配布
TestFlight
AdHoc配布
InHouse配布
リリース配布手段
(有線)
不可 不可 AppleConfigurator2
Finder
Xcode
リリース配布手段
(無線)
ABM+MDM
ABM+引き換えコード
AppStore
ABM+MDM
ABM+引き換えコード
OTA
MDM
Finder(AirDrop)
配布可能範囲 ABM契約企業の
被雇用者、業務委託先
範囲制限無し ADEP契約企業の
被雇用者、業務委託先
アプリ起動条件 特になし 特になし MDMチェックイン or 信頼
証明書削除時 変化なし 変化なし 起動しなくなる

こちらも、AppStore公開アプリとInHouseアプリが何から何まで違うのに対して、AppStore公開アプリとカスタムAppは酷似しています。

このように開発側と受取側の両方で酷似しているのですから、実は一度でもAppStore公開アプリに関わったことがあれば、ADEP/InHouseについて学ぶよりカスタムAppについて学ぶほうが楽なのです。運用も。AppStore公開アプリの知見や経験を活かせるからですね。

カスタムAppとAppStore公開アプリの唯一大きな差異はABM。このABMをカスタムAppとの関係性から理解することが重要です。ということで次回以降、カスタムAppとABMの関係性についてや、カスタムAppの申請と配布について紹介していきたいと思います。(参考:ABMとは何か)

(追記) カスタムAppの申請について書きました
カスタムApp(CustomApp)とは何か(2) 〜ABMとの関係と申請方法について〜

 

2021.2.8

ADEPのInHouseなipaファイルをmacOS標準機能を使ってインストールする (Finderの「場所」とAirDrop)

ADEPのInHouseビルドで生成した.ipaファイルを開発者から受け取ったとき、それをiOS端末にインストールする方法は色々あります。過去の投稿では Apple Configurator2 を使う方法を紹介しました。


(Apple Configurator2 を使うのが一番よく使われる方法だったが…)

本稿では、macOS標準の機能を使ってインストールする方法を2種類ご紹介します。

  1. USB接続してFinderの「場所」からインストール
  2. macOS標準の AirDrop を使ってインストール

どちらも手軽に使える方法ですので覚えておいて損はありません。それでは順番にみていきましょう。

 

1. USB接続してFinderの「場所」からインストール

macOS Catalina から、USB接続したiOS端末がFinderの「場所」の欄に表示されるようになりました。普段からMacをお使いの方はよくご存知でしょう。


(USB接続するとFinderのサイドバーにiOS端末が現れる。従来はiTunesが必要だった)

実はFinderのこの機能を使って、ipaファイルをインストールすることができます。

(1) まずiOS端末をMacとUSB接続します
(2) Finderの「場所」に端末が現れますのでクリックします

(3) 右側ペインの任意箇所に.ipaファイルをDrag&Dropします

以上です。これで .ipa ファイルのインストールが完了します。とても楽ですね!

macOS Catalina以前の時代は、サポートで現場を訪ねたときに「iTunes の起動制限がかかっていて、さらにApple Configuraotr2も追加インストールできない…」というMacを前に困り果てることもありましたが、今ではこのFinderからインストールで何とかなります。

ただ注意点が一つ。Finderからはipaファイルを上書きインストールができません。既にインストール済みの場合、エラーが表示されますので、iOS端末側で手動削除してからやり直して下さい。


(Apple Configurator2 と比べて不便なところ)

なお Apple Configurator2 を使った方法と一緒で、インストールしたアプリの起動には「信頼」の操作が必要になることがあります。「信頼」については過去の記事をご覧下さい。

 

2. macOS標準の「共有 > AirDrop」を使ってインストール

ipaファイルは AirDrop 経由でインストールすることもできます。

macOSを普段からお使いの方にはお馴染みですが、そうでない方のために解説すると、AirDropとは、macOSやiOSなどAppleのOS間でファイルを無線転送する技術です。デバイスが近くにあれば(WiFiの同一ネットワーク配下にいなくても)無線転送ができるので、写真やPDFを送る時に重宝します。


(AirDropはBluetoothとWiFiの技術を使ってピアツーピアで転送する技術。2011年の Mac OS X Lion で搭載された)

実はAirDropでは写真やPDFだけでなく .ipa ファイルも無線転送できます。同時にインストールまでしてくれる優れものです。

(1) ipaファイルを副ボタンクリック(右クリック)して [共有]→[AirDrop] をクリックします

(2) 候補が現れますので、ipaファイルをインストールしたい端末を選んでクリックします

以上です。とても簡単ですね!

副メニューの「共有 > AirDrop」から送る方法以外にも、Finderのサイドバーから「AirDrop」をクリックして候補を出しておき、ここに.ipaファイルをドラッグ&ドロップしてもいいでしょう。

なおAirDropを使った転送では留意点があります。

標準では、iOS端末側とMacとが同じAppleIDに設定されているか、連絡先に登録されている人のAppleIDでなければなりません。そうでない場合は転送先候補にそもそも現れませんので、端末側の「設定」アプリから [一般] → [AirDrop] で「すべての人」を選択すると良いでしょう。


(他の端末からも何かが送られてくる可能性があるためセキュリティ面は十分に注意)

AirDropが禁止されている監視モード端末に対してはこの方法が使えませんので注意して下さい。

 

以上、macOS標準の機能を使って ipa ファイルをインストールする方法を紹介しました。手軽に使えますのでぜひ試してみて下さい。

なおインストールするipaファイルですが、ADEPのInHouseビルドしたipaファイルだけでなく、ADPのAdHocビルドなipaファイルでも可能です。ただしAdHocの場合は、ビルド時のprovisioning profileに対象端末のUDIDが含まれてる必要があります。

(本機能は開発パートナーのグッドタイミングさんからの情報を元に深堀りした。@hitonomichiさん、ありがとうございました)

2020.6.19

ADEP(Apple Developer Enterprise Program)はもう取得することができないと諦めたほうが良い理由

(最終更新日 : 2020/10/30)

ADEP(Apple Developer Enterprise Program)に関連する質問は、エンタープライズiOS関連で寄せられる問い合わせで最も多い質問です。ADEPの前身である iDEP の時からこれは変わりません。(参考 : ADEPとは何か)

iOS端末の企業導入と同時に独自アプリを作りたい、あるいは作って欲しいという需要が現場には常にあるということですね。しかし、この1年程の間に問い合わせの傾向が明らかに変わってきています。

  • ADEPをどうしても契約できません
  • ADEPはどうやったら取得できるのですか?
  • ADEPを取らずに企業内限定配布をするにはどんな方法がありますか?

これらの質問から伺い知れることは唯一つ、ADEPの取得が極めて困難になっているということです。具体的な企業名は避けますが「え?あの超大手上場企業でもダメなの?」とビックリするぐらいのADEP申請拒否られ事案が幾つもあります。


(審査落ちというキーワードで本サイトにランディングする方も多い。困っている企業が少なからずある)

なぜこんなことになっているのでしょうか。企業内の独自アプリが開発・配布されるならiOS端末の活用は広がるはずです。Apple的にはウェルカムの筈なのになぜ?

本エントリでは、その理由を大きく4つに分けて解説します。そして最後に、今後エンタープライズiOS関係者はADEPとどう向き合うべきかの指針を書いてみます。

 

無くならなかったADEPの不正利用

ADEPを契約すると可能になるInHouse配布は、審査不要で無制限にアプリを配布できる超魅力的な配布形態です。この配布は、ADEPの契約主体法人の従業員か契約社員に配付するアプリに限定するよう10年以上前からAppleは求めてきました。

ただ、契約で縛るだけの紳士協定に過ぎないことが元より懸念されていました。みんな守るのか?と。

案の定、契約を破る企業が現れました。AppStoreの申請を逃れ、自社のWebサイトから申請の通っていないアプリを自社従業員以外にInHouse配布する事例が数多く出てきたのです。

そのうちの幾つかをご紹介しましょう。

まず、2020年最新のADEP契約違反事例。新進気鋭の画像認識系ベンチャー Clearview AI です。高度な顔認識技術を搭載したアプリを、同社の従業員向け業務アプリとしてではなく同社外となるFBIやその他の米国法執行機関にInHouseアプリで提供していました。


(SNS等から規約違反してまで無断取得した数十億枚もの画像から学習させた顔認識AIを搭載していた)

AppleはこれをADEPの契約違反として同社のADEPアカウントを停止。同社のInHouseアプリは使えなくなりました。この他にも、仮想通貨取引所の BINANCE が公式アプリを同社サイトからInHouse配布していた例もあります。

ADEP契約違反はベンチャーや中小零細に限った話ではありません。

2019年には Google と facebook といった世界的著名企業でさえ契約違反していたことが明らかになりました。両社ともに不正にInHouseアプリを配信し情報収集を行っていたようです。



(facebookは巧妙にADEPの契約を破ってInHouseアプリをインストールさせていた)



(googleもまた同様。データ収集目的のInHouseアプリを規約違反して配布した)

このようにADEPの契約違反事例は枚挙にいとまがありません。それだけ魅力的な配布形式であるということですが、ADEPによるInHouseアプリはAppStoreを迂回できる代わりに企業と雇用関係の契約がない人にインストールさせてはいけないという制約があることを忘れてはなりません。(参考 : ADEPの契約ができないパターン集)

Appleの審査を通らないアプリが InHouse 配布で出回ることは、iOSの安全性を脅かすことに繋がります。通常アプリ審査でrejectされる筈の実装を含むアプリが世に広まる可能性があるからですね。もし個人情報を勝手に吸い上げるようなアプリが広まったら…。個人情報保護に神経質な Apple がこの状況を看過するわけがないでしょう。

こうした状況にAppleが態度を硬化させるのも当然です。

その結果、いつしかADEP契約審査ではAppleから電話確認が入るようになりました。しかも企業の存在確認という生ぬるい電話ではなく、何のためにADEPが必要なのかやアプリの詳細・ビジネスモデルまでヒアリングされるようになってきています。Appleを納得させられなければ、ADEP契約審査は通りません。

 

証明書Revokeによる一撃業務停止問題

前項が契約を守らないサードベンダーの非なら、本項はADEPの技術的仕様の非とされても仕方ない点です。どういうことか。


(ADEPでのRevokeボタン。間違えて触ると現場トラブルに繋がる)

ADEPを契約するとInHouse配布用の証明書を作成することができます。が、この証明書仕様が実に曲者で、誤って Revoke するとなんとその直後から InHouse 配布している全てのアプリが一斉に起動しなくなるのです ((((;゚Д゚))))ガクガクブルブル

例えば、全国の支店iPadに配布しているアプリが日中に突然一斉に動かなくなることを想像してみて下さい。全店舗の全端末が予兆なく突然、です。Undoはできません。これがどれほど恐ろしいことか。エンタープライズ系のビジネスをされている方にとっては嫌な汗が出る最悪な事態だと思います。


(ADEPでの間違ったオペレーションは目も当てられない事態になる)

過去に知らない方から電話がかかってきたことがあります。

ある旅行代理店様が接客にiPadを使っている。iPadには独自のアプリをInHouse配布して入れていた。が、アプリ開発を請け負っていた開発会社の担当者が誤って InHouse 署名に紐付いた証明書を Revoke してしまった。その瞬間、一斉に全国でアプリが動かなくなり全店舗でトラブル発生。助けて欲しい…。

お会いしたこともない方からの連絡でした。知り合いを伝ってエンタープライズiOSに詳しい会社があると電話番号を聞いて直接かけさせて貰ったということでした。(弊社は電話番号を公開していないため)

結局この事例では、全店からiPadを引き上げて、証明書・プロビジョンファイルを作り直し、再署名したアプリをインストールして返送するという最悪の対応となったそうです。MDMが導入されていればまだ救済措置はありましたが、残念ながらアプリ受託会社はMDMというものを知りませんでした。エンタープライズiOSの分野を通常のアプリ開発と同様に捉えてはならない教訓となる事例です。

閑話休題。

このRevoke問題は他に何例も聞きます。意外に多いのだそうです。さすがのAppleも、デベロッパーが誤って証明書をRevokeしてしまうことまで想像していなかったのでしょう。

ただ、そんな事故が少なくないなら手を打たなければなりません。AppleがADEPの契約を極力制限し、事故の少ない別の仕組みに誘導するのも当然の対応といえます。

 

Apple公式サイトに見られるADEPを取らせない姿勢

では、ADEPの不正利用はしない、Revokeするヘマもしない、のなら大丈夫かというとそうでもありません。

ADEP公式サイトに訪れると、そこには「間口をメチャクチャ狭めてるけどそれでも申請する?」という Apple の無言の圧力が待ち受けます。


(ADEPの申請ページは2019年末から2020年初にかけてリニューアルされた)

画面をスクロールしていくと、まず条件が提示されます。

これは何なくクリアできそうな気がするのですが、問題はここからです。

ページの一番下までスクロールすると、ADEPでどんなアプリを開発するつもりなのか選択するよう促されます。フォームがあってすぐに申請できるというわけではないのですね。(昔はここからすぐに申請できた)

以下の3択から選びます。

  • (A) 一般向けのApp(カスタムApp以外のビジネスAppも含む)
  • (B) 特定の顧客向けのカスタムApp
  • (C) 自分の組織内で使用する独自App

(A)なら通常のAppStoreに申請するように、(B)ならカスタムAppを使うように、(C)ならADEP は普通はいらないよ分かってる?とそれぞれ丁寧な説明が表示されます。

(C)を選択した場合が以下の通り。

まずADPを確認して下さいねと。そしてApple Business Manager やAdHoc配信、引き換えコード、TestFlightを用意してますよ。それでも貴社にはADEPが本当に必要なのですか?と。

このAppleからの問いかけに答えて、ADEPによるInHouseアプリが必要だと論理的・技術的に説得しなければなりません。当然、ADP、ABM、AdHoc、引き換えコード、TestFlight、CustomApp等がそれぞれ何なのか理解した上で説明する必要があります。

現時点で大半は『ADP + CustomApp + MDM + ABM の組み合わせでやって下さい』と言われるオチが待っています。色んなケースをお聞きすると、AppleはもうADEPを取らせる気が全くないのでは?と思えるぐらい間口が狭くなってると感じます。

 

InHouse用AppID作成時の自己申告とAppleによる監視

実は、何とかADEP契約を無事に締結できたとしても、尋常ならざる姿勢のAppleの監視にあうことになります。これはAppStoreに公開されている一般消費者向けアプリの比ではありません。

よく知られている通り、iOSアプリをビルドする際には、証明書やAppIDやプロビジョニングファイルを正しく用意して署名する必要があります。最初につくるのはアプリを識別するための App Identifier ですね。

ADEPでもそれは同様ですが、今年(2020年)から InHouse アプリ用の App Identifier を作成する際、以下のように情報提供を要求されるようになりました。デプロイメントの詳細です。


(この項目はADEPだけで表示される。ADPには存在しない)

InHouse配付する規模と対象、何を使って配信するのか、セキュリティはどう担保するのかを Apple に自己申告する必要があります。更に、これらの情報を常に最新にupdateすることも求められ、Appleからいついかなる時でもレビューされたり質問されたりすることを理解し同意するというチェックまで必要になります。

なります…というのは記事執筆時点(2020年6月19日)で Optional な項目だからです。近い将来、これは必須になります。このように書いてあります。

In the future, this information will be required to create a distribution provisioning profile
and must be kept up-to-date in Certificates, Identifiers & Profiles.

Appleからのレビューにまっとうな理由が説明できなければ、InHouse用プロビジョニングプロファイルが作れなくなる可能性もありそうです。つまり署名ができない…。これは、その時点での有効期限が切れた瞬間に業務が停止することを意味します。

従来はADEP(iDEPの時代も)を契約しさえすれば正直やりたい放題で、配布のルールを守りRevoke問題にさえ気をつければ良かったのですが、今後はそうはいかなくなるのでしょう。

(恐らく上記の Optional は WWDC2020 で Requirement になると思います。 WWDC2020後から数ヶ月経過した2020年10月現在でも必須項目にはなっていません)

 

どうすべきなのか

ADEPの取得は最初からもう諦めることをお勧めします。(ADEPの情報発信をしているサイトでそれを諦めろというのはどうかと思いますが…)

不正問題やRevoke問題にAppleが態度を硬化させていること、エンタープライズiOSの関連技術を理解した上でAppleにADEPの必要性を説得する労力、狭き門を通った後のAppleの監視、将来背負うことになるプロビジョニングプロファイルが作れなくなるかも知れないリスク…

それらを背負う覚悟を…筆者なら持てません。

それでも果敢にADEPに挑むのもありだとは思いますが、正直ADEPが必要だとAppleを説得する十分な理屈を組み立てられる気がしません。なぜなら、AppleにもiOS端末導入企業にも開発受託企業にも、誰にもリスクがないスマートな仕組みやツールセットが今は用意されているからです。

再掲しますが、以下はAppleによるADEPの解説です。

明確に特定の利用ケースのみとあります。文中にあるオプション(ADP, AdHoc, ABM, 引き換えコード, TestFlight)をまず調べることからお勧めします。ADEPはそれらを十分に理解した上で「絶対にADEPでないと無理だ」という時のみ申請する最終手段です。最初に検討する選択肢ではありません

ほぼすべてのケースで、ADEPに頼らずとも要件を満たすiOSアプリは実現可能です。あえてイバラの道を歩むことにエネルギーを注がなくても良いのではないか。これが筆者の考えです。


(Photo by Kelly Sikkema on Unsplash)

 

既存のInHouse配布はどうなるのか?

ADEPの新規契約が困難になったことは、ADEP契約更新も同様に困難になるということを決して意味しません。実際、公式サイトの制限をクリアできてない企業でも更新できている事例もあります。

ADEP(または旧iDEP)を取得している事情は企業それぞれです。

実装上の理由からプライベート関数を使わざるを得ないケース、そのほか明らかにAppStoreの審査に落ちる実装をしているケース、アプリの過去バージョンにすぐ戻せるようにしておきたいというケース…などなど

実装済みのInHouseアプリをそう簡単に変更はできないと思いますが、せめてInHouse配布ができないとしたらどう実装するか?と検討することぐらいは事前にやっておいたほうが良いかも知れません。いずれAppleから、「ADEPの更新が認められない場合がある。ついては○○までに対応するように」と通達が来る可能性を誰も否定できないからです。

 

以上、新規のADEP契約を諦めたほうが良いと思われる理由について書きました。個別の案件でご相談等ありましたら、本エンタープライズiOS研究所の個別相談を御利用下さい。

 

お知らせ : iOSDS2020で講演を行いました

2020年9月の iOSDC2020 で、以下のようなタイトルでお話しました。

本稿で言及した、ADEPの代わりとなるカスタムAppについても解説させて頂きました。また、カスタムAppに必要な Apple Business Manager や MDM についても紹介し、それらがどう連携して端末に非公開アプリがインストールされるのかについてもご説明しました。

エンタープライズiOSの世界を一通り概観できる他にない講演になったかと思います。当日の講演がそのままYouTubeで無償公開されていますので、宜しければ iOSDC 2020 Day1 でエンタープライズiOSについて講演しました(YouTubeで収録動画が公開されました) をご覧の上で御視聴下さい。

2019.12.6

ADEPの契約ができないパターン集

(最終更新日 : 2020/9/10)

ADEPによるInHouse配布は、審査が不要端末数は無制限配布手段も自由に選べます。

有事の際の緊急対応や端末管理の容易性などを考慮すると、ADEPで作れるInHouseアプリはやはり魅力的です。しかし、InHouse配布アプリにはただ一つ制限があるのでした。(参考 : ADEP (Apple Developer Enterprise Program) とは何か)

ADEP契約主体の組織外の人が使う端末にInHouseアプリをインストールさせてはいけない

この制限は絶対に守らなければならず例外はありません。言うまでもなくADEPオフィシャルページの「対象」欄の条件クリアは必須ですが、これに加えて、上記制限に抵触しないことがとても重要なのです。


(最後の項目に「検証インタビュー」と明記されている)

昨今ADEPの審査はとても厳しくなっています。Appleにアプリや事業モデルの詳細を説明しなければなりません。もし上記制限を外れるアプリであることが分かると確実に審査落ちしますので、あらかじめ審査落ちするパターンを把握しておくのは良いことです。

以下に典型的なADEP申請落ちする却下パターンをご紹介します。もし該当する場合、アプリの作り方や事業モデルを変更することをお勧めします。

 

販売代理店に使って貰うアプリの配信

例えば、保険業界や自動車業界など販売店網を構築している商品の業務アプリが該当します。商品開発元がADEP契約して、商品解説アプリを作り、それを販売店にInHouse配布して使ってもらう…のはNGパターンです。

販売代理店は、「組織外」だからですね。このパターンは結構多いです。

商業施設や商業イベントの出店者に使ってもらうアプリの配信

施設側や主催側が出店者に使ってもらうアプリ(例えば出店者向けの情報を発信するようなアプリ)を作り、販売店の保有端末にインストールしてもらうためにInHouse配布する…のもNGパターンです。

出店側は多くの場合「組織外」だからですね。どうしてもInHouse配布したいなら、店舗側の全法人にADEP契約をして貰う必要があります。

一般消費者向けのアプリ配信

一般消費者にAppStoreを迂回してインストールして貰うようなInHouse配布もNGパターンの典型です。

提供側から見るとサービス利用側は「組織外」だからですね。一般消費者に使って貰うアプリは必ずAppStoreを通して公開する必要があります。

グループ内会社が他のグループ会社にアプリを配信

情報システム子会社が親会社の従業員iOS端末向けにアプリをInHouse配布する…のもNGパターンです。

同じグループとはいえ別法人であり「組織外」だからです。もし親会社の従業員が使うアプリを作るのなら、ADEPは親会社が取得すべきです。(ただ黎明期にiDEPを取得して本パターンで実運用されているケースもある)

 

以上4つのADEP審査落ちパターンを紹介しました。万が一検討中のアプリがいずれかに該当する場合は、ADEPの契約やInHouse配布はまず無理と考えたほうが良いでしょう。

もし曖昧な説明をしたり、真実を隠して運良くADEP契約が仮にできたとしても、ADEPの契約はAppleの意向で一方的にBAN(契約破棄)できることを忘れてはなりません。BANされると業務で日常的に使っているInHouseアプリがある日突然起動しなくなります。そんな恐怖は誰も味わいたくないでしょう。Appleにバレたら最後ですし、過去にはInHouse配布の不正利用が告発され削除となった例もあります。

ADEPやInHouseが思い浮かんだらまず、配布するアプリをインストールする端末は誰の端末かを確認することをお勧めします。実は本稿で紹介したパターンは、ADEP契約をしなくても工夫すればほぼ要件を満たせるものばかりです。導入や運用の仕方に少し手を加えられないか是非考えてみて下さい。

なお2020年現在、AppleはADEPを極力契約させないように方針を転換しています。詳しくはADEPはもう取得することができないと諦めたほうが良い理由の投稿をご覧下さい。

 

お知らせ : iOSDS2020で講演します

2020年9月19-21日開催が予定されているiOS関連で国内最大のイベント iOSDC2020 で、以下のようなタイトルでお話させて頂くことになりました。

40分にわたりエンタープライズiOSの全体像をご説明します。

本稿でご紹介したADEPにも言及します。ADEPによるInHouseが使えなくなることを踏まえて、デベロッパーはどのような配信手段をとるべきなのか、MDM や Apple Business Manager や カスタムApp について詳細を解説いたします。

エンタープライズiOSの世界を概観できる他にないコンテンツとなっております。有償のイベントとなりますが、オンラインで視聴できますので iOSDC2020 のサイトからお申し込み頂き、是非ご参加下さい。

2019.11.28

ADEP (Apple Developer Enterprise Program) とは何か

(最終更新日 : 2020/9/10)

iOSアプリ開発では、Apple Developer Program という Apple との契約が必要になります。ただ、ひとことに「契約」と言っても Apple との契約には幾つか種類があり、それがエンタープライズでのiOSアプリ開発を少々ややこしいものにしています。

本稿では Developer Program の種類と、ADEPをどのような時に選ぶべきかをおさらいしておきたいと思います。

Apple Developer Enterprise Program
 

Develorer Program の種類

2019年現在、Developer Program は以下の通り3種類あります。

種類 ADP ADEP iDUP
AppStore 個人/法人 法人 教育機関
年間料金 ¥11,800 ¥37,800 無料



AppStore
InHouse
AdHoc
Development

ADP : Apple Developer Program

AppStoreでのアプリ公開を前提とした Developer Program で個人と法人が対象です。アプリ開発の書籍やスクール教材でよく見かける契約手続き紹介に出てくるのはこちらです。

ADEP : Apple Developer Enterprise Program

法人のみが契約可能な Developer Program です。AppStore で公開しない社内専用アプリを開発する場合、こちらを選択します。ただし2020年現在、ADEPの契約はほぼ不可能です。(参考 : ADEPはもう取得することができないと諦めたほうが良い理由)

iDUP : iOS Developer Universal Program

学生にアプリ開発教育をする教育機関のみが契約できる Developer Program です。教育用途のため配布方法が限られているのが特徴です。本サイトでは扱いません。

 

Developer Program と配布の関係

Developer Program の本質的な違いは、配布方法の差です。配布とはAppleのドキュメントで Distribution と表記されます。開発したiOSアプリをどのようにiOSデバイスにインストールする(させる)のかの形態を表しています。

冒頭の表の通り、配布方法には AppStore / InHouse / AdHoc / Development の4種類があり、ADEPだけがInHouseという特別な配布方法を使うことができます。

では、InHouse 配布とは一体なんでしょうか。何ができて、何ができないのでしょうか。表にすると以下のようになります。

AppStore InHouse AdHoc Development
用途 リリース リリース 開発/評価 開発/評価
インストール可能なiOS端末数 無制限 無制限 100台(端末種別毎) 100台(端末種別毎)
デベロッパー組織外端末への配布 不可 不可
アプリ配布手段の用意 Apple
(AppStore/
CustomApp/
TestFlight)
自由
(USB/OTA)
自由
(USB/OTA)
自由
(USB/OTA)
アプリ審査 あり なし なし なし

InHouse が特権的な配布方法であることが分かるでしょうか。審査は不要、インストールする端末数は無制限、配布手段も自由です。

審査不要ですからバグ修正版を全従業員に即日リリースができます。イントラネットに自社専用アプリストアを作ることもできます。ABM/DEP/MDMを連携して箱から出したばかりのiPhoneに無設定にいきなりアプリを強制インストールする運用も可能になります。

このように、InHouseでは企業がiOS端末を活用し易いよう、あらゆる制限が排除されています。自由裁量が最大限に確保されている特別な配布方法であり、この特別な InHouse 配布を使えるのが ADEP (Apple Developer Enterprise Program ) のみとなります。

自由が欲しいなら InHouse。 InHouse なら ADEP というわけです。

 

InHouse唯一最大の制限

企業用アプリにとても都合の良いInHouseですが、守るべきたった一つのルールがあります。それは、InHouse 配布するアプリは、ADEP契約主体の組織外の人が使う端末にインストールさせてはいけないということ。従業員や業務委託者だけがインストールできるように、厳重な権限管理のもとアプリ配布をおこなう必要があります。

例えば、ADEPを契約して開発したアプリを自社の公開サーバから不特定多数のユーザにInHouse配布することは厳禁です。(物理的にはできてしまいます)

実際によくあるご相談ですが、

  • AppStore上でオープンにしたくないが、一般ユーザのiOS端末へ自由にインストールさせたい
  • 審査されたくはないが、自社以外の会社の端末にも制限なくインストールさせたい

といった要望を叶えることはできません。なぜならいずれも組織外端末へのインストールだからです。この制約の抜け道は皆無です。例外はありません。

ルール違反をした場合、ADEPの契約を破棄される場合があり、最悪ビジネスや業務が停止する可能性もあります。そのようなリスクを背負うのは得策ではありませんので、InHouse配布するアプリを開発する場合はADEPについて見識あるベンダーに相談した上で進めるべきでしょう。

別のエントリ「ADEPの契約ができないパターン集」に、ADEPのNGパターンを紹介していますので併せてご覧ください。

 

以上、Developer Program と配布の関係についてのまとめでした。

なお、2020年現在ADEPの新規契約はほぼ不可能となっており、非公開の企業アプリはADEPによるInHouseではなく、カスタムAppを使うべきとされています。詳しくはADEPはもう取得することができないと諦めたほうが良い理由の投稿をご覧下さい。

 

お知らせ : iOSDS2020で講演します

2020年9月19-21日開催が予定されているiOS関連で国内最大のイベント iOSDC2020 で、以下のようなタイトルでお話させて頂くことになりました。

40分にわたりエンタープライズiOSの全体像をご説明します。

本稿でご紹介したADEPにも言及します。ADEPによるInHouseが使えなくなることを踏まえて、デベロッパーはどのような配信手段をとるべきなのか、MDM や Apple Business Manager や カスタムApp について詳細を解説いたします。

エンタープライズiOSの世界を概観できる他にないコンテンツとなっております。有償のイベントとなりますが、オンラインで視聴できますので iOSDC2020 のサイトからお申し込み頂き、是非ご参加下さい。

本サイトはACNメンバーの(株)フィードテイラーが運営するエンタープライズiOS情報サイトです

最近の投稿