ついにリリース!? 審査落ち連発の原因とは。〜みるコード〜
2026-03-25

はじめに
こんにちは!「AI といっしょ アプリ 100 個でどのくらい稼げる?」企画の一環として、アプリ開発学習アプリ「みるコード」を開発していましたが、審査落ちが連発して本当に苦戦していました。
前回の記事では、何度審査に出しても通らない状況をお伝えしていましたが、ついに原因を特定し、無事にリリースすることができました!
同じような問題で悩んでいる方の参考になればと思い、審査落ちの原因と解決方法を詳しく共有します。
前回からの経緯
前回の記事では、以下のような状況でした:
- 何度審査に出してもリジェクト
- App Store Connect の設定は何度も確認済み
- アプリ内課金の設定も完了している
- 有料 App の契約周りで問い合わせ
有料 App の契約周りで問題がありそうだという感触があったため、Apple サポートに問い合わせを行っていました。
解決への道のり
1. 有料 App の契約問題の解消
まず、前回から問い合わせていた有料 App の契約問題について、Apple サポートから回答がありました。
契約プロセスがまだ完全に完了していなかったのです。App Store Connect の画面上では設定が終わっているように見えていたのですが、実際には承認待ちのステータスだったようです。
こちらで特に何か対応する必要はなく、Apple 側で処理を進めてくれました。翌日にはステータスが「有効」に変わっていました。
2. ドキュメントの徹底見直し
契約問題が解消されたものの、まだ審査に通らない状態が続きました。
「もしかしたら実装に問題があるのでは?」と思い、改めて Apple の公式ドキュメントを一から読み直すことにしました。
このドキュメントを見ながら、以下の手順を一つ一つ確認していきました:
- App Store Connect での product 作成
- productID の命名規則
- アプリ側での StoreKit 実装
- product 取得のコード
- 購入処理のフロー
3. 原因の発見: productID の不一致
そして、実装のセクションを見直していたときに、重大な問題を発見しました。
アプリ内課金で設定した productID が、実装側のコードと異なっていたのです!
具体的には以下のようなイメージ
- App Store Connect で設定した productID:
mirucode.kakin - コード内で参照していた productID:
mirucode.product.kakin
このような単純なミスでしたが、これが原因で審査時にアプリ内課金の情報が取得できず、課金ができないようになっていました。
productID を正しいものに修正し、すべて問題なく動作することを確認してから、再度審査に提出しました。
4. そして、ついに...
審査提出から数日後、待ちに待った「submission is complete」の通知が届きました!何度も審査落ちしていたので、この通知を見たときは本当に嬉しかったです。
まとめ: 審査落ちの原因
正直、何度も審査落ちして心が折れそうになりましたが、無事にリリースできて本当に嬉しいです。今回の審査落ち連発の原因は、以下の 2 点でした:
1. 実装に問題があったこと(productID の不一致)
これが主な原因でした。設定と実装の不一致という、よくあるミスですが、エラーメッセージからは分かりづらく、特定に時間がかかりました。
教訓: App Store Connect での設定とコードの実装を、必ず同時に確認すること。特に productID のような識別子は、コピー&ペーストで確実に一致させるべきでした。
2. 有料 App の契約が完了していなかったこと
これも副次的な原因の一つでした。契約が完了していないと、そもそもアプリ内課金の審査が正しく行われない可能性があります。
教訓: App Store Connect の「契約、税金、口座情報」セクションで、契約ステータスが「有効」になっていることを必ず確認すること。