社内向けiOSアプリをApp Storeで配信する手順

目次
はじめに
社内エンジニアの技術領域を広げる取り組みの一環として、普段、Web開発を担当している
エンジニアが iPhone / Apple Watch向けの「打刻アプリ」の開発にチャレンジしました。
弊社では勤怠管理はある勤怠管理サービスを利用しています。
公式アプリやWeb打刻画面は用意されているものの、日々の出退勤の打刻としては
ステップ数が多いため、ワンタップで打刻とSlack通知を完結できる補助アプリを開発しました。
このアプリは社内の人しか使わないのですが、配布方法としてはApp Storeに載せたいと考えました。
理由は後述しますが、ざっくり言うと
「普通のアプリと同じようにインストールとアップデートをしたかった」
からです。
ただ、一般公開はしたくないので、 Unlisted App(非表示アプリ)配信 という仕組みを利用しました。
非表示アプリの配信自体は弊社でも活用実績がありますが、Webエンジニアが実際に申請から
リリースまで 進めることで 手順の落とし穴や改めて整理できた知見が多くありました。
そこでこの記事では、
- そもそもUnlisted Appとは何なのか
- 手順どおりに進めたつもりがリジェクトされた理由
- 実際に必要だった申請方法と申請時に何を書いたか
- 承認されたあとの運用とTips
を実際にやった順番で書いていきます。
「社内ツールをApp Storeで配りたいけど公開はしたくない」という方の参考になれば嬉しいです。
(※以下の内容は2026年8月時点のものです。Apple側の手順や仕様は今後変わる可能性があります)
Unlisted App(非表示アプリ)とは
はじめに Unlisted App が何なのかを簡単に説明しておきます。
Unlisted App(App Store Connect上では「非表示アプリ」と表記されています。
以下、この記事では「Unlisted App」「Unlisted配信」を同じ意味で使います)は
App Storeに配信されるけれど、検索結果やランキング、カテゴリ一覧などには一切出てこないアプリ のことです。
配布は「直接リンク(App StoreのURL)」経由でのみ行われます。
つまり、URLを知っている人だけがそのアプリのページにたどり着き、インストールすることができます。
| 配信方法 | 検索に出るか | 誰がインストールできるか | 備考 |
|---|---|---|---|
| 通常の公開配信 | 出る | 誰でも | 一般消費者向け |
| Unlisted App | 出ない | リンクを知っている人 | 社内ツール・限定配布向け |
| Apple Business Manager経由のカスタムApp配布 | 出ない | 組織が管理する範囲 | ABM契約や管理デバイスの登録が前提 |
| TestFlight | 出ない | テスターとして招待した人 | ビルドに有効期限あり(最大90日) |
ポイントは、Unlisted Appでも中身は普通のApp Store配信と同じだ、ということです。
- インストールもアップデートも通常のApp Storeの仕組みがそのまま使える
- TestFlightのようにビルドの有効期限を気にしなくていい
- 端末やApple IDを事前に登録する必要がない
「不特定多数には見せたくないけど、配布と更新は楽にしたい」というケースに向いている仕組みです。
背景・課題:なぜUnlistedにしたかったのか
なぜ一般公開ではダメだったのか、という話です。
今回のアプリは完全に社内向けの業務ツールで、関係のない人が使う意味はありません。
そのアプリを普通にApp Storeで公開すると、こういうことが起きそうだと考えました。
- 「勤怠」などのワードで検索した無関係な人がダウンロードしてしまう
- アプリ内に出てくる組織名や勤務区分といった社内用語・業務用語が外部の人の目に触れる
- 使えるはずのない人からのテスト打刻・問い合わせが発生する
- 使えない以上、低評価レビューがつきかねない
かといって、TestFlightで配り続けるのもビルドの期限管理が面倒ですし、Apple Business Manager(ABM)を
新たに契約して管理体制を整える、というのも社内ツール1本のためにやるには重すぎます。
そこで「Unlisted Appがちょうどいいのでは」となりました。
やったこと1:手順どおりに審査提出して、見事にリジェクトされた
ここからが本題です。
Unlisted配信をするには専用の申請が必要だということ自体は把握していましたが、最新の細かい手順がわかりませんでした。
そこで、参考にしたサイトに書かれていた手順が「まず通常どおり審査に提出し、その際にApp Review担当者向けのメモ(Notes)欄へ
Unlisted配信を希望する旨を記載しておく」というものだったので、そのとおりに進めました。
メモ欄には、こんな趣旨の説明を英語で書いています(以下は日本語訳です)。
このアプリは非表示(Unlisted)で配信予定のアプリです。App Storeの直接リンク経由でのみ利用可能である必要があります。
参考にしたサイトの情報がすでに古くなっていた可能性もありますが、手順どおりなので問題ないだろうと思っていました。
しかし、結果はリジェクトでした。
リジェクト理由:Guideline 3.2 – Business

内容を要約すると、だいたい次のようなことが書かれていました。
- このアプリは特定の企業・組織向けの利用を意図しているように見えるのに、App Store Connect上では「公開配信」が選択されている
- App Storeは一般ユーザー向けの場なので、他の配信オプションを検討してほしい
- Unlisted App配信の申請を既に出しているなら、結果が来るまで再提出しないこと
つまり、審査提出と同時にメモで希望を伝えるだけでは足りず、
配信形態そのものの承認を先に取っておく必要がある、ということでした。
特に後半、「申請中なら結果が来るまで再提出しないこと」という案内が決定的でした。
審査提出とセットにする必要はなく、申請フォームのほうを先に済ませておけばよかったようです。
やったこと2:必要だったのは「専用フォームでの事前申請」だった
Unlisted App配信の申請は、専用の申請フォームから行います。
- Unlisted App配信のリクエストフォーム:
https://developer.apple.com/contact/request/unlisted-app/
流れを整理するとこうなります。
進めた流れ(参考にした手順どおり/結果的に遠回り)
- 通常どおり審査提出(Notes欄にUnlisted希望と記載)
- Guideline 3.2 – Business でリジェクト
- 審査提出とセットにする必要はないと気づく
- 申請フォームから申請 → 承認
- あらためて審査提出
実際に必要だった流れ
- 申請フォームから Unlisted App 配信を申請
- 承認のメールを待つ
- 承認されたら通常どおり審査提出
リジェクト文にも「申請中なら結果メールが来るまで再提出しないでね」と書かれているとおり、
まず配信形態の承認を取ってから審査に出すのが正しい順序でした。
審査提出自体はどちらにしても必要ですが、それより前に専用フォームでの申請・承認を
済ませておくべきだった、ということです。
私の場合は、すでに(リジェクト済みの)審査提出をしていた状態でこのフォームから申請しましたが、
それでも問題なく承認されました。
やったこと3:申請フォームで何を書いたか(ポイント)
申請フォームは英語で、アプリ情報と「なぜUnlistedでなければならないのか」を問う設問がいくつか並んでいます。
回答文をそのまま載せてもコピペ用テンプレになってしまうだけなので、ここでは
設問ごとにどういう観点で書くと伝わりやすいかを、実際に書いたときに意識したポイントとしてまとめます。
基本情報の入力
- App Name: アプリ名を入力する欄です。
- App ID: App Store Connect上のアプリを特定する数値IDの入力が必要です(Bundle IDとは別物なので注意)。
App Store Connectの「対象アプリ → 一般 → アプリ情報」にある「Apple ID」の値がこれにあたります。 - 審査に提出済みかどうか: 提出済み/未提出を選ぶ設問があります。
「解決したいビジネス課題となぜUnlisted配信が必要か」
ここが一番の山場だと思います。「背景・課題」で書いた内容(社内専用ツールであるため、公開すると起きうる問題)を土台にしつつ、
次の2点を意識して英語でまとめました。抽象的な希望ではなく、公開した場合に具体的に何が困るのかとセットで書くのがポイントです。
- 利用者が誰なのかを明確にする
自社の社員だけが使うこと。関係のない第三者には使う意味がないツールであること - なぜ「Unlisted」がその解決策として適切なのかを結びつける
検索結果に出ないこと、直接リンクを知っている社員だけがインストールできること、
それでいて配布とアップデートは通常のApp Storeの仕組みをそのまま使えること
「なぜ公開配信ではなくUnlisted配信を望むのか」
ここでは一般ユーザーにとって価値がないことに絞って書きました。
業務専用ツールで、一般消費者には使いどころがなく、公開すれば誤インストールや社内情報の露出、
無関係な問い合わせによるサポート負荷増加が想定される、という論旨です。
「なぜ Apple Business Manager / Apple School Manager 経由のカスタムApp配布ではなくUnlistedなのか」
これは「組織限定配布ならABMがあるでしょう」という当然の疑問に答える設問です。
ここはABMが自社の状況に合わない理由を事実ベースで簡潔に書きました。
「ABMを知らないから使わない」ではなく「検討したうえで、規模とコストの観点で合理的でない」という
書き方を意識しました。
- 小規模組織で、ABM自体を契約していないこと
- ABM経由の配布は法人確認手続きやデバイスの管理登録が前提になるが、この規模のツール1本のために新たに整備するのはコストに見合わないこと
- Unlistedであれば追加の登録なしに通常のApp Store経由でインストール・更新できること
選択式の設問
残りは選択肢を選んでいくだけです。私は次のように回答しました。
| 設問 | 回答 |
|---|---|
| 社内/社外どちらへの配布か | 社内のみ(Internally) |
| 利用人数 | ◯◯名程度 |
| 利用組織数 | 1組織(自社のみ) |
| 想定利用者像 | 社員 |
| カテゴリ | 勤怠・シフト管理系(Employee logistics) |
| 配信先デバイス | 管理されたデバイス(Managed) |
| 提供地域 | 日本 |
「配信先デバイス」は会社支給の端末という意味合いで「Managed」を選びましたが、本格的なMDMを
運用しているわけではありません。「ABMのような管理基盤を新たに整備するほどではない」という前段の
説明と少しずれる回答でしたが、特に指摘されることもなく、無事に承認されました。
承認後の運用
承認されたあとは、拍子抜けするくらい普通です。
- アプリのアップデート時はこれまでどおりApp Store Connectから審査に提出する
- 承認されれば公開される
- 社員は通常のApp Storeアプリと同じように更新できる
配信が「非表示」になるだけで、運用フロー自体はほぼ一般公開のアプリと変わりません。
TestFlightのようにビルド期限を気にしたり、テスター追加の手間がなくなったのは
地味ですが、かなり大きいです。
気づいた点・Tips
やってみて分かったことをいくつかまとめておきます。
1. 配布用の直接リンクはどこにあるのか
Unlisted Appは検索に出てこないので、社員に共有するための直接リンク(ストアURL)が必要になります。
これは App Store Connect の以下の場所に記載されています。ここに載っているURLを社内に共有すれば
社員はそこからインストールできます。
対象アプリ → 収益化 → 価格および配信状況 → アプリの配信方法 → 「非表示アプリ」の項目
2. 申請に必要な権限は「Admin」でも大丈夫だった
事前に調べていたときは「Unlisted App申請にはApple Developerアカウントのアカウントホルダー
(Account Holder)権限が必要」と書かれている情報をいくつか見かけました。
ただ、実際には Admin権限のアカウントでも申請・手続きができました。もちろん今後変わる
可能性はありますし、環境によっても違うかもしれませんが、「アカウントホルダーの人を
捕まえないと何も進まない」と諦める前に一度Adminで試してみてもいいかもしれません。
3. あとから一般公開に切り替えるのは簡単ではない
Unlisted Appとして公開したあとに「やっぱり一般公開したい」となった場合、
設定をひとつ変えるだけで切り替えられるような仕組みは用意されていないようです。
現実的には、Bundle IDなどを変更してApp Store Connect上で新規にアプリレコードを
作り直すのが早いようです。
「まずは社内限定で、うまくいったら一般公開しよう」という段階的な展開を考えている場合は
この点を頭に入れておいたほうがよさそうです。
最初から公開前提なら、Unlistedを経由しないほうがいいかもしれません。
限定配信の良い点・注意点
良い点
- 新たにABMやMDMを整備しなくても、通常のApple ID・App Store経由でインストール・アップデートできる
- TestFlightのようなビルド期限や招待管理から解放される
- 検索やランキングに出ないので、無関係なユーザーの流入を気にしなくていい
注意点
- URLを知っていれば誰でもインストールできるので、アクセス制御にはならない(アプリ側の認証は別途必要)
- あとから一般公開に切り替えるのは手間がかかる
- 審査自体は通常どおり行われるので、ガイドライン対応が不要になるわけではない
まとめ
今回の内容をまとめるとこうなります。
- Unlisted App配信をしたいなら、まず専用フォーム(
https://developer.apple.com/contact/request/unlisted-app/)で申請 - 審査のメモ欄にUnlisted配信を希望する旨を書くこと自体は無駄ではありませんが、
それで配信形態が変わるわけではなく、専用フォームでの申請と承認が別途必要 - 承認後は通常のApp Store配信とほぼ同じ運用。
配布用の直接リンクはApp Store Connectの「価格および配信状況」から取得できる。
参考にしていた手順どおりに進めたところ一度リジェクトされてしまいましたが、専用フォームからの申請自体は
内容もそこまで難しくありませんでした。申請フォームの自由記述も、「なぜ限定配布が必要か」
「なぜ他の手段(公開配信・ABM)ではダメなのか」を自社の実情に沿って具体的に書けば十分伝わると思います。
テンプレート的な文章をそのまま貼るよりは自分たちの困りごとを素直に書いたほうが説得力があるはずです。
また今回は普段Web開発を担当しているエンジニアが、アプリ開発からストア申請までを一通りやりきったことで
エンジニアとしての技術の幅を広げる良い機会にもなりました。
社内ツールをiPhoneアプリで作りたいけれど配布方法で悩んでいる、という方の参考になれば幸いです。
