【iOS】(ADP・ADEP・iDUP)Apple Develorer Programの種類とiOSアプリの配布方法[最新:2023年版]
はじめに
個人向け、企業向け、教育機関向けなどiOSアプリは様々な場面で利用がされていますが、各プログラムと配布方法について、本記事でまとめたいと思います。
Apple Develorer Programの種類
Appleでは2023年現在、以下3種類のDevelorer Programを提供しています。
Program | ADP | ADEP | iDUP |
---|---|---|---|
対象 | 個人・法人 | 法人 | 教育機関 |
年会費 | $99 | $299 | 無料 |
新規契約 | 可能 | ほぼ不可※1 | 可能 |
※1:最近のAppleの方針としてはADEPではなく、ADPで一本化する方向に進んでいるため、新規契約が難しい状態になっています。
ADP : Apple Developer Program
法人・個人どちらの場合でも契約可能なプログラムです。
以下公式サイトからの引用です。
App Store、Apple Business Manager、Apple School Managerで配信するアプリの作成に関心をお持ちの場合は、Apple Developer Programにご登録ください。*プログラムに登録すると、ベータ版OSリリースやアプリの高度な機能に加え、アプリやSafari Extensionの開発、テスト、配信に必要なツールを利用できます。
ADEP : Apple Developer Enterprise Program
法人向けのプログラムで、個人での契約はできません。
以下公式サイトからの引用です。
大きな組織が独自の社内用Appを開発し、従業員向けに展開するためのプログラムです。このプログラムは、安全な社内システムやモバイルデバイス管理ソリューションを使用して、非公開のAppを従業員に直接配信する必要がある特定の利用ケースを対象としています。
iDUP : iOS Developer Universal Program
教育機関向けのプログラムで法人・個人での契約はできません。
以下公式サイトからの引用です。
iOS 開発をカリキュラムに導入したいと考えている高等教育機関向けに設計された無料のプログラムです。
※iDUPは利用頻度が少ないので今回の記事での解説は省略したいと思います。
新規でDevelorer Programに契約する場合
教育関連で利用する場合以外は個人・法人共に「ADP」で契約することが基本になると思います。
ADEPの現状としては、新規契約の審査を通るのが厳しく、契約更新の審査が通らなくなってきている事案も発生してきているとのことなので、Program廃止のリスクも考えると「ADP」を選択することが無難であると考えられます。
また、ADEPの一番のメリットであった企業内で非公開iOSアプリを配布(In-House)することについては、ADPでもやり方は異なりますが、App Storeでの非公開配布(カスタムApp)など、機能拡充がされてきていますので、柔軟に対応を行うことができます。
細かな配布方法の詳細については、以降で解説していきます。
Developer Programと配布方法の対応表
現在ADPとADEPで利用可能な配布方法としては以下の7つの方法が一般的です。
詳細説明は「iOSアプリの配布方法の詳細説明」の章で行います。
配布方法 | ADP | ADEP | 端末台数制限 | 審査 | 配布ツール |
---|---|---|---|---|---|
AppStore公開アプリ | ○ | × | 制限なし | 必要 | AppStore,ABM+MDM |
カスタムApp(AppStore非公開アプリ) | ○ | × | 制限なし | 必要 | AppStore,ABM+MDM |
非表示App(AppStore非表示アプリ) | ○ | × | 制限なし | 必要 | AppStore |
InHouse | × | ○ | 制限なし | 不要 | MDM,DeployGate,etc. |
AdHoc | ○ | ○ | 100 | 不要 | MDM,DeployGate,etc. |
TestFlight-内部テスト | ○ | × | 100 | 不要 | TestFlightアプリ |
TestFlight-外部テスト | ○ | × | 10,000 | 必要 | TestFlightアプリ |
※端末台数制限:詳細は各配布方法の詳細説明で確認をお願いします。
※審査:Appleによる審査の要否について記載しています。
※InHouseとAdHocはipaファイルを作成後に配布する方式であるため、様々な方法でインストールすることが可能です。
Appleの審査とは
App Storeにアプリを公開する際はAppleの審査が必要になります。
基本的にはApp Store Reviewガイドラインに基づいてアプリを開発することがポイントになってきます。
Appleがアプリの公開に審査を必要としている理由についてChatGPTに質問してみたところ以下の回答を得ることができました。概ね誤っている内容ではないと思われるため、参考として載せておきます。
品質保証: Appleは、ユーザーエクスペリエンスを向上させ、不安定なアプリやバグが少ないアプリが提供されることを確保するため、アプリが基本的な品質基準を満たしているかどうかを確認します。
セキュリティ: Appleは、悪意のあるアプリやプライバシー侵害を防ぐため、アプリがセキュリティ基準を満たしているかどうかを審査します。これには、ユーザーデータの適切な取り扱いやセキュリティの脆弱性のチェックが含まれます。
コンテンツガイドラインの遵守: Appleは、アプリ内のコンテンツが特定の基準やガイドラインに従っていることを確認します。これには、暴力的なコンテンツや適切でないコンテンツの制限が含まれます。
プラットフォームの一貫性: Appleは、iOSやmacOSのプラットフォームに適合し、一貫したユーザーエクスペリエンスを提供するアプリケーションを確保するため、デザインガイドラインやUI/UX基準を確認します。
ABM(Apple Business Manager)とは
引用元:Apple Business Manager
ABMは「カスタムApp」を利用する際と「AppStore公開アプリ」を社内向けに配布する際に必須になってくるWebベースのポータルです。
「MDM(後述あり)との連携」「自動デバイス登録」「Appとブックなどの割り当て」「Apple IDの管理」などを行うことができます。
Apple公式のユーザガイドはこちらになりますので、詳細を確認したい方は参照してみてください。
MDM(Mobile Device Management)とは
日本語では、「モバイルデバイス管理」と言います。
MDMはスマートフォンやタブレットなどのモバイルデバイスを一元管理することが可能なソフトウェアのことです。
従業員に配布しているモバイルデバイスのOSバージョンの管理や監視、アプリケーションの配信などモバイルに関するさまざまなことを管理することができます。
モバイルデバイスの盗難時にデータをクリアするなどセキュリティ対策で導入している企業もあります。
代表的なMDMのサービスは以下になります。
- CLOMO MDM
- Optimal Biz
- Jamf Pro
- i-FILTER ブラウザー&クラウド
- mobiconnect
- MobiControl
- Mobileiron
- VMware Workspace ONE
- FENCE-Mobile RemoteManager
- LanScope An
- MDMサービス たよれーる デバイスマネジメントサービス
- Trend Micro Mobile Security
- KDDI Smart Mobile Safety Manager
iOSアプリの配布方法の詳細説明
対応表にあったiOSアプリの配布方法の詳細説明を行います。
AppStore公開アプリ
引用元:app-store
エンジニア以外の方には一番身近なアプリのインストール方法だと思います。
AppStoreにiOSアプリを公開することで、指定した国(地域)や全世界にiOSアプリを配布することが可能です。
一般公開しても問題ないiOSアプリの場合はこちらの方法で配布を行います。
「ABM+MDM」を利用して、配布を行うことも可能です。
カスタムApp(AppStore非公開アプリ)
引用元:カスタムAppの配信
「カスタムApp」は「AppStore非公開アプリ」とあるように、AppStoreを利用して非公開にiOSアプリを配布することができます。
公開手順はAppStore公開とほとんど同じで、Appの配信方法で、「非公開」を選択することで、一般公開することなく配信が可能になります。
非公開の場合は通常のAppStoreとは別に企業専用の領域で管理されているため、セキュリティ的にも問題なく社内向けのアプリを配信することができます。
注意点として、ABMへの加入は必須となります。また、ABMへ加入する際にDUNSナンバー(The Data Universal Numbering System)と呼ばれる企業識別コードを事前に取得しておく必要があります。ABMへの加入方法やDUNSナンバーについては、「Apple Business Manager とは?特徴、できることを詳しく解説!」が参考になります。
その他、カスタムAppの詳細を知りたい方は以下のサイトを参考にしてみてください。
カスタムApp(CustomApp)とは何か
非表示App(AppStore非表示アプリ)
非表示アプリの配信
AppStoreでの公開アプリではあるものの、Storeで検索しても出てこないアプリの配信方法ですです。
該当アプリのURLを知っている人のみがインストール可能です。
カスタムAppとは違って、URLを知っていれば誰でもインストールできてしまうので、社内向けのアプリなどでは利用しない方がセキュリティ的に良いです。
InHouse
ADEPの契約ができている場合のみ利用な配布方法です。新規でADEPの契約が困難な状況であるため、以前から契約を続けている場合にInHouseでの配布を選択肢にすることができます。
AppStoreを経由せずにアプリの配信が可能であるため、Appleの審査などは不要で、配布台数制限も無いです。
AdHoc版やTestFlight-外部テスト版では必要になってくる「UDID」などの情報を管理する必要もないので、自由度が高いです。
組織内での配布が前提になり、組織外の利用者に配布した場合は、規約違反となってしまうため注意が必要です。
AdHoc
ADP、ADEPどちらでも利用可能な配布方法です。AppStoreを通さず、テスト用や組織内利用のために、登録済みのデバイスに対して配布を行うことができます。デバイスの登録は各iOSデバイスに一意に割り当てられた「UDID(Uique Device IDentifier)」を使用して行います。UDIDについてと確認方法についてはiPhoneやiPadのUDIDを調べる方法 全10種が参考になります。
AdHocはInHouseと違って配布可能なデバイス数に上限があります。iPhone100台、iPad100台とデバイスの種類ごとに100台まで登録が可能です。
TestFlight
引用元:TestFlight
AppStoreに公開されているTestFlightのアプリ経由でテスト用アプリとして配布が可能です。アプリアップロード後90日間までが有効期限となるため、有効期限が切れた場合は、アプリの再アップロード及び、再インストールが必要になります。
TestFlight-内部テスト
最大100人の端末にインストールを行うことが可能な配布方法です。事前にテスト用のメンバーを登録しておく必要があるため、組織内のテスターなどへの配布に利用することが一般的です。
TestFlight-外部テスト
外部テスターのメールアドレス、又はパブリックリンクを共有することで、最大10,000人までアプリを配布することが可能です。
より大規模なテストを行う場合に利用します。
内部テストと違って、アプリの最初のビルドがTestFlight App ReviewでAppleの審査が入るため、すぐに配布することはできないです。
まとめ
AppleのDeveloper ProgramとiOSアプリの配布方法が綺麗にまとまったサイトがあまり見つからなかったので、個人的に分かりやすいと思ったまとめ方で、作成をしてみました。誤った情報や古い情報がございましたら、コメント頂けますと幸いです。
本記事の重要ポイントは以下になります。
- 現状、個人と法人共に新規に契約する場合はADP一択。
- 一般人に利用してもらいたいアプリは「AppStore公開アプリ」で配布。
- InHouseでの配布はADEPでないとできないため、ADPで同じことを行いたい場合は「カスタムApp(AppStore非公開アプリ)」を利用したAppStoreからの配布となる。
- 「カスタムApp」は、組織内で利用するアプリ向けの配布方法。
- 一般人が利用するが、AppStoreの検索で表示されないようにしたい場合は「非表示App(AppStore非表示アプリ)」
- 開発や検証フェーズなどでテスターにアプリを配布したい場合や、100人以下の小規模な社内向けアプリの場合は「AdHoc」で配布。
- 本番前のテストや、リリース前の大規模検証などでテスターにアプリを配布したい場合は、「TestFlight」で配布。「AdHoc」での配布と役割が被ることがあるので、プロジェクトや目的によってどちらを使うのかは判断が必要。
参考サイト
ADEP (Apple Developer Enterprise Program) とは何か
業務用アプリの配布方法 全7種類一覧
【2023年版】MDMサービス おすすめ14選を徹底比較
Discussion
カスタムApp配布のためにはエンドユーザ(配布先企業)がABMに加入して、その組織IDを登録するのが必須であることは明記したほうが良いと感じました。
記載しておいた方が良いと思いましたので、修正しました。
コメントありがとうございます。