「Rejected」の通知が来た時の絶望感
深夜2時、部屋は静かで、iPhone がブルっと震えました。
「アプリのビルドが終わったかな?」と思って見たら、App Store Connect からのメール。「うわ…」ってなる件名がそこにありました。
Your app has been rejected.(あなたのアプリは却下されました)
あの時の心臓が冷たくなる感じ、何度経験しても慣れないんですよね。
私が初めて iOS アプリを出そうとしたのは、もう10年以上前。まだ情報もあんまりなくて、英語のガイドラインを翻訳サイトにかけながら、手探りで開発してました。
自信満々でアプリを提出したら、数時間でダメ出し。「デザインが Apple っぽくない」「クラッシュした」「これ、Web で十分じゃん」って。
画面の向こうの審査官(レビュアー)からの容赦ないコメント。まるで人格否定されたみたいで、マジで落ち込みましたね。
でも、諦めたくなかった。iPhone で自分の作ったアプリが動くところが見たかったんです!
iOS アプリ開発って、コード書いたら終わりじゃないんですよ。むしろ、ビルドしてからが本番。
Apple というデカい壁を乗り越えて、App Store に出すには、厳しいルールを守って、ややこしい手続きを踏んで、「このアプリには価値がある!」ってことを証明しないといけないんです。
「せっかく作ったのに、いつまでたっても公開できない…」
「英語で色々言われても、どう言い返せばいいか分かんない…」
そんなあなたに。
この記事では、現役 iOS エンジニアとしてたくさんのアプリを世に出してきた私が、アプリ公開までのロードマップ、Apple 審査の裏話、リジェクトされた時の交渉術を、経験をもとに書きます。
これはキレイなマニュアルじゃないです。傷だらけになりながら見つけた、アプリ公開のための「サバイバル術」です。

なんで iOS アプリ公開ってこんなに大変なの?
Android アプリ(Google Play)を出したことがある人なら分かると思うんですけど、Google Play って結構ゆるいんですよ。審査もすぐ終わるし、普通は公開されます。
でも、Apple は違う。なんでこんなに厳しいのか?
「App Store」っていうブランドを守りたいから
Apple にとって、App Store はただのアプリストアじゃなくて、iPhone の一部なんです。
そこに「すぐ落ちるアプリ」とか「怪しいアプリ」とか「下品なアプリ」があったら、iPhone のブランドが下がっちゃいます。
だから、人間がアプリをチェックして、「Apple の基準」に合わないものは容赦なくはじくんです。
開発者は、この「Apple の美学」に合わせないといけない。めんどくさいけど、逆に考えれば、審査に通ったアプリは「品質が良い」ってことになります。
ルールがコロコロ変わる
ガイドライン(App Store Review Guidelines)がよく変わるのも困ります。
昨日 OK だったものが、今日ダメになる、みたいなことがよくあります。
例えば、「ログイン機能」。前はメールアドレスだけでよかったのに、「Apple でサインイン」が必須になったり、アカウント削除機能が必要になったり、どんどん厳しくなってます。
この変化についていくのが、iOS エンジニアの宿命ですね。
第1章:準備(事前準備と費用)
開発を始める前、または開発中にやっておくべき準備について話します。これって「パスポート」みたいなもので、ないとスタートラインに立てません。しかも、お金も時間もかかります。
1. Apple Developer Program への登録
自分の iPhone でアプリを動かすだけなら無料アカウントでできます。でも、App Store で公開するには、Apple Developer Program への登録が必須です。
費用は年額99ドル。今のレートだと15,000円〜16,000円くらい。
毎年払います。「高いな…」って思いますよね。私も最初はそう思いました。
でも、これは「Apple 経済圏への参加チケット」だと思って、あきらめましょう。
注意:登録に時間がかかる
登録フォームに入力してクレカで払えば終わり、じゃないんです。
本人確認書類をアップロードしたり、Apple の人が確認したりするので、場合によっては2週間くらいかかることも。
「アプリ完成!今日登録して明日リリースだ!」と思ってると、ヤバいことになります。開発と同時に登録手続きも進めておくのがオススメです。
2. 法人の場合:D-U-N-S Number
個人じゃなくて、法人としてアカウントを作る場合は、さらに面倒なことがあります。
D-U-N-S Number(ダンズナンバー)っていう企業識別コードが必要になるんです。
日本の企業だと持ってなかったり、持ってても Apple のデータベースに反映されるまで時間がかかったりします。
私が手伝ったスタートアップでは、この D-U-N-S Number でリリースが1ヶ月遅れました。社長は真っ青、私は冷や汗。そうならないように、法人の場合は早めに確認してください。
3. テスト端末は中古でOK
シミュレーター(Mac 上で動く iPhone)だけで開発するのは、危ないです。
- カメラのピント
- GPS の精度
- メモリの使用量
- 触った時の気持ちよさ
これらは実機でしか確認できません。
最新の iPhone だけでなく、ちょっと古い端末(iPhone SE とか iPhone 11)も用意した方がいいです。最新機種ではサクサク動いても、古い機種だとメモリ不足で落ちることがあります。必ずテストしましょう。
中古で十分です。フリマアプリで割れてるやつでもいいので、検証機を準備しましょう。
4. Mac(Xcode)は必須
Windows で iOS アプリは作れないんですか? って聞かれますが、Mac は必要です。
Flutter とか React Native を使えば、Windows でもコードは書けます。でも、最後の「ビルド(アプリファイルを作る)」と「App Store へのアップロード」は、Mac のソフトであるXcode を使わないといけません。
クラウド上の Mac を借りることもできますが、効率が悪すぎます。本気でやるなら、Mac mini の中古でもいいので(M1 チップ以降推奨)、Mac を用意しましょう。
第2章:App Store Connect での設定
コードが終わったら、次は Apple の管理画面であるApp Store Connect での設定です。
ここでアプリの「箱」を作って、説明文とか画像とかを登録します。エンジニアからすると退屈な作業に見えるかもしれませんが、実はココが「マーケティングの場所」なんです。
メタデータは「ラブレター」
審査に通るかどうか、ダウンロードされるかどうかは、ここで決まります。
- アプリ名: 30文字以内。検索されやすいキーワードとか、覚えやすい名前にしましょう。
- サブタイトル: アプリの魅力を短く伝えるキャッチコピー。
- スクリーンショット: マジで重要。説明文なんて読まないですからね。画像を見て「面白そう」「便利そう」って思わせないとダメです。Figma とかで端末の枠に入れて、キャッチーな言葉を添えた画像を作りましょう。
プライバシーポリシー
これ、忘れがちなんですけど、審査に出す直前になって「えっ、必要なの?」ってなることが多いです。
今は、全てのアプリでプライバシーポリシー(個人情報保護方針)の URL の入力が必須です。
個人で作った無料アプリでも必要です。「個人情報は取得しません」って書いた Web ページを作りましょう。
サーバーを借りて Web サイトを作る必要はないです。Notion とか GitHub Pages を使って、簡単なページを作って URL を貼り付ければ OK です。

第3章:TestFlight でテスト
いきなり審査に出すのはやめましょう。絶対に。
Apple はTestFlight(テストフライト)っていう、テスト環境を用意してくれています。使わないと損です。
TestFlight を使う理由
私の失敗談を話します。
シミュレーターでは完璧だったアプリを、そのまま審査に出しました。そしたら「起動してすぐ落ちる」って理由でリジェクト。
原因を調べたら、「リリースビルド(本番用設定)でのみ発生するバグ」でした。開発中は分からなかったんです。
TestFlight を使えば、本番と同じ条件でビルドされたアプリを自分の iPhone に入れてテストできます。ここでテストしておけば、上のミスは防げます。
他人の目は最高のデバッガー
TestFlight のもう一つのメリットは、友達とか知り合いに簡単にアプリを配れることです。
メールアドレスさえ知ってれば招待できます。
開発者じゃない人に触ってもらってください。
「ここ、ボタンって分からなかった」「文字が小さくて読めない」「この画面から戻れない」とか、
開発者には分からない UI の欠陥を指摘してくれます。心が折れそうになるけど、それが審査通過への道です。

第4章:審査(Review)の真実とリジェクト理由
いよいよ審査に出します。
ステータスが「Waiting for Review(審査待ち)」から「In Review(審査中)」に変わる瞬間は、マジで緊張します。
Apple の審査は、AI じゃなくて人間がやっています。カリフォルニアとか、どこかの国の人が、あなたのアプリを触ってチェックしてるんです。
私が経験した、よくある「3つのリジェクト理由」を解説します。
1. Guideline 4.2 - Minimum Functionality(最低限の機能)
これが一番ヤバくて、乗り越えるのが難しいリジェクトです。
レビュアーからのメッセージはこんな感じ。
「これは Web サイトで十分。アプリにする意味がない」
ブログ記事を表示するだけのアプリとか、Web サイトをアプリにしただけのものは、この理由で落とされます。
Apple は「App Store には最高の体験だけを置きたい」って考えてます。Web ブラウザでできることを、わざわざアプリにするな、ってことです。
【対策】
「アプリならでは」の機能を入れましょう。
- プッシュ通知を入れる
- カメラで写真を投稿できるようにする
- 位置情報を使う
- オフラインでも見れるようにする
「これは Web ではできないんだ!」ってことを、機能で証明しましょう。
2. Guideline 2.1 - App Completeness(アプリの完成度)
「起動したら落ちました」「ダミーテキストが残ってます」「ボタンを押しても反応しません」、つまり、未完成品を出すなってことです。
特にiPad に注意してください。
iPhone 専用アプリとして作ってても、iPad では「互換モード」で動きます。この時、レイアウトが崩れてボタンが押せなくなったりします。審査する人は iPad を使ってることが多いらしいので、iPad シミュレーターでも確認しましょう。
3. Guideline 5.1.1 - Data Collection and Storage(データの収集)
最近厳しくなってるプライバシー周りです。
アプリがカメラとか位置情報を使う時に、許可を求める画面が出ますよね。
あの画面に表示される説明文が足りないとリジェクトされます。
- ×:カメラを使用します。
- 〇:プロフィール写真を撮るためにカメラを使用します。
「何を使うか」だけじゃなくて、「なぜ使うのか」を具体的に説明しないといけません。「何に使うか分からないけどカメラ許可して」って言われても許可しないですよね? Apple は透明性を求めています。

第5章:リジェクトされた時の交渉術
「Rejected」のメールが来たら、まず落ち着きましょう。Apple の人も人間です。伝え方によっては、結果が変わることもあります。
Resolution Center での戦い方
App Store Connect には「Resolution Center(問題解決センター)」っていう、レビュアーとチャットできる場所があります。ここでやり取りします。
ケース1:完全にこっちのミスの場合
素直に謝って、修正版をアップロードしたことを伝えます。言い訳するより、早く修正した方が印象が良いです。
- I have fixed the crash issue mentioned. Please check the new build.(ご指摘のクラッシュを修正しました。新しいビルドをご確認ください。)
ケース2:レビュアーの勘違いの場合
腕の見せ所です。感情的にならずに、論理的に説明します。
私が作ったアプリで「この機能には課金が必要なのに、Apple の決済を使ってない(Guideline 3.1.1 違反)」って言われたことがありました。でも、そのアプリは「ジムの会員権」を売るもので、デジタルコンテンツじゃなかったんです。
私はこう返信しました。
「このアプリはデジタルアイテムではなく、現実世界で使うサービスを販売しています。ガイドライン3.1.3(e) に基づき、Apple 内課金以外の決済方法を使うことが許可されているはずです。再考をお願いします」(意訳)
ポイントは、「ガイドラインの条項」を引用して反論することです。
「俺はこう思う」じゃなくて、「ルールブックにこう書いてあるから OK だよね?」って言うんです。これで何度も覆してきました。
審査用メモ
リジェクトを防ぐために、提出時にある「審査用メモ」を使いましょう。レビュアーへの手紙を書く場所です。
- ログインが必要なアプリなら、テスト用アカウントを必ず書く(ないと中身が見れずリジェクトされます)。
- 特殊な操作が必要なら、手順を動画にして URL を貼る。
- 「これは Web ビューに見えますが、キャッシュ処理をしてるので 4.2 違反ではありません」とかを先に書いておく。
審査する人が疑問に思いそうなことを先回りして潰しておく。これが「一発合格」のコツです。

第6章:リリース後の世界
苦労の末、ステータスが「Ready for Sale(販売準備完了)」になったら、おめでとうございます!長かった戦いが終わりました。でも、これはゴールじゃなくて、スタートです。
最初の24時間
リリース直後は、トラブルが起きやすい時間帯です。
「サーバーに繋がらない」「特定の国だけで落ちる」みたいなことが起きます。
Crashlytics などのツールを入れて、エラーが起きてないか監視しましょう。もしヤバいバグが見つかったら、「緊急リリース」を申請することもできます。これは年に数回しか使えない切り札ですが、審査を早くしてくれます。
バージョンアップ
App Store でアプリを探す時、何を見ますか?
私は「最終更新日」を見ます。「最終更新:3年前」ってなってるアプリは、怖くてダウンロードできません。
バグ修正、新機能追加、新しい iOS への対応。
定期的にアップデートして、「バージョン1.0.1」「1.1.0」って数字を積み重ねていくこと。それがユーザーへの信頼になり、App Store の検索順位も上がります。アプリは生き物です。世話をしないと死んでしまいます。
よくある質問
Q. 審査にはどれくらい時間がかかりますか?
A. 最近は早くて、平均1日〜2日です。
昔は1週間とか待たされたけど、今はスムーズです。リジェクトされてやり取りが発生すると、数日伸びます。リリース日が決まっているなら、1週間前には提出しましょう。
Q. 英語が苦手でも大丈夫ですか?
A. DeepL とか ChatGPT を使えば大丈夫です。
レビュアーとのやり取りは英語ですが、難しい言葉は必要ありません。箇条書きで、事実を伝えれば通じます。
Q. 個人の住所が公開されるって本当ですか?
A. 本当です(条件があります)。
App Store で「有料アプリ」を販売する場合、または「アプリ内課金」がある場合は、日本の「特定商取引法」で、販売者の住所と電話番号を表示することが義務付けられています。
嫌な場合は、無料アプリにするか、バーチャルオフィスを契約して法人化する必要があります。個人で作ってる場合は、よく考えましょう。
誰かの手に届く瞬間のために
iOS アプリ公開の道のりと、攻略法をお伝えしました。
「めんどくさいな」「やめようかな」って思ったかもしれません。
確かに、Apple の審査は厳しいし、理不尽に感じることもあります。
でも、厳しさがあるからこそ、App Store は安全で高品質なアプリストアなんです。高い壁を乗り越えたということは、あなたのアプリが「世界レベル」ってことです。
私が初めてリジェクト地獄を乗り越えて、自分のアプリがストアに並んだ日のことは忘れません。
自分の iPhone で App Store を開いて、検索窓にアプリ名を入力して、表示されたアイコン。
友達とか、知らない人がダウンロードして、「これ便利だね」「面白かったよ」って言ってくれた時の喜び。
その一瞬は、それまでの苦労が全部ふっとびます。
自分の書いたコードが、製品となって誰かの生活の一部になる。これ以上のやりがいは、ないと思います。
リジェクトは失敗じゃないです。アプリを良くするためのアドバイスです。
何度ダメ出しされても、修正して、また送り込めばいい。諦めなければ、必ず道は開けます。
さあ、Xcode を開きましょう。
あなたの情熱を Apple に送り出して、世界中のユーザーに届けましょう!

あなたのアプリに「Ready for Sale」の通知が届く日を応援しています。
