2026年9月、僕が審査に出していたiOSアプリ3本が、同じ時刻にGuideline 4.3(a) Design - Spamでリジェクトされました。
そのうち2本、レシピの原価計算アプリと血糖値の記録アプリは、どのアプリとも似ていないはずのアプリです。この2本はコードを1行も変えず、新しいビルドも出さずに、反論だけで4.3(a)を取り下げさせました。ところが1週間後、同じ2本がまた4.3(a)でリジェクトされます。今度はアカウント削除の警告付きでした。
この記事は、そこから2本とも公開までたどり着いた全記録です。効いた反論文の型、覆らないケースの見分け方、そして「反論で覆しても再発する」理由まで書きます。
この記事で分かること
- 4.3(a)は似ていないアプリまで巻き込んでまとめて落ちることがある、という実例
- 新ビルドなしで4.3(a)を取り下げさせた反論文の型(英文の実物つき)
- 反論で覆るアプリと、覆らないアプリの見分け方
- 反論で覆しても同じアカウントで再発する理由と、根本的な対処
結論
巻き込まれた側のアプリは、作り直す前にまず反論してください。 コンセプトもコードも独立しているなら、Resolution Centerで固有の機能を具体的に説明するだけで覆る可能性があります。僕の場合は2本とも、2回とも覆りました。
ただし、反論で覆るのは「その回の審査」だけです。似た系列のアプリを同じ時期に審査へ並べている限り、次にどれかを提出したタイミングでまた一斉に落ちます。そして、本当に似ている側の移植アプリは、外形まで作り直して1本だけで出し直しても、通りませんでした。同じエンジンで系列のアプリを出すなら、通るのは1本目だけと考えるのが安全です。
何が起きたか
背景として、僕はClaude Codeで開発していて、1本を1〜2日で作れるようになっていました。その結果、5日間で4本を審査に出すというペースになっていました。
| 日付 | 出来事 |
|---|---|
| 9/5〜9/8 | 原価計算アプリ・血糖値記録アプリ・資格問題集アプリ(公開済みの資格アプリを別の資格へ移植したもの)・元の資格アプリのアップデート、の4本を連続で提出 |
| 9/9 | 審査中の3本が同時刻に4.3(a)でリジェクト。先に公開済みだった元の資格アプリは無事 |
| 9/9 | 原価計算アプリ・血糖値記録アプリは新ビルドなしで反論。移植した資格アプリは作り直しを選択 |
| 9/11 | 2本とも4.3(a)が取り下げられ、代わりに別件(スクショの価格表記・2.3.7)だけを指摘された。メタデータだけ直して再提出 |
| 9/17 | 原価計算アプリ・血糖値記録アプリ・別の資格問題集アプリの3本が、再び同時に4.3(a)。今度はExtended Review警告付き |
| 9/17 | 2本は補足の反論を送信。もう1本の資格問題集アプリは審査から取り下げ |
| 9/23・9/24 | 原価計算アプリ・血糖値記録アプリが審査合格、公開 |
| 9/25 | 移植した資格アプリを、画面の骨格から作り直して単独で再提出 |
| 10/6 | 移植した資格アプリに、4.3と4.2.6の「9問の質問票」つきのリジェクト。返信で回答 |
| 10/29 | 返信は通らず。11/2に、このアプリは今の形では出さないと決めた |
リジェクト文は定型文で、どのアプリと似ていると判断したのかは書かれていません。
We noticed the app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by you or other developers, with only minor differences.
なぜ似ていないアプリまで落ちたのか(推測)
公式な説明はないので、ここからは一開発者の推測です。
- 3本のリジェクト通知が完全に同じ時刻に届いた。 人が1本ずつ審査していれば時刻はばらつくはずなので、アカウント単位でまとめて判定されたと見るのが自然です
- 引き金は、ほぼ確実に移植した資格アプリでした。 テーマの定義も画面のコードも、ほとんど元のアプリのままでした。スクショのレイアウトも説明文の構成も同じです。これは「似ている」と言われて当然でした
- その1本が引っかかった結果、同じアカウントで審査中だった、コンセプトの違う2本まで一緒に掃かれた、というのが僕の見立てです
つまり、同じ4.3(a)でも中身が2種類ありました。本当に似ているアプリと、巻き込まれただけのアプリです。対処はまったく違います。
1回目: 巻き込まれた2本は、反論だけで覆った
原価計算アプリと血糖値記録アプリは、コンセプトもドメインのロジックも独立しています。直すべき実体がないので、新しいビルドは出さず、Resolution Centerへの返信だけで反論しました。
効いたと思う要素は4つです。
- 冒頭で「アカウント内の他のアプリと比べて判定された可能性」を指摘する
- そのアプリにしかない機能を、ドメインの言葉で箇条書きにする(「便利な機能」ではなく、原価計算なら「仕込み品の入れ子と循環参照の検出」のような具体的なロジック)
- 他のアプリと共有しているコードの範囲を、正直に限定して書く(「汎用的な数値入力とCSV書き出しだけ。ドメインのロジック・データモデル・画面は共有していない」)
- 類似と判断した具体的なアプリ名の開示を求める
実際に送った文面(原価計算アプリ)の抜粋です。
We would like to appeal this decision. We believe the app may have been flagged
by comparison with other titles published under our developer account, rather
than assessed on its own functionality, so we would like to describe what this
app actually does.
- Ingredient master: each ingredient is registered as "package quantity +
purchase price", from which the app derives a unit price and corrects it with
a configurable loss (yield) rate.
- Sub-recipes: a recipe such as a sauce or a dough can itself be used as an
ingredient inside another recipe, with circular-reference detection.
- Two-way pricing: enter a selling price to see the cost ratio and gross
margin, or enter a target cost ratio to obtain a recommended selling price.
(中略)
Code shared with our other submissions is limited to small generic helpers of
a kind common to any SwiftUI app, such as a numeric-entry modal and a CSV
writer; no domain logic, no data model, and no screen is shared.
If you still consider this app similar to a specific app, could you please tell
us which app it was compared with?
血糖値記録アプリの方は、ヘルスケア(HealthKit)との読み書きと、受診用のPDFレポートを中心に書きました。どちらもアカウント内の他のアプリにはまったく存在しない技術なので、独自性の証明としては一番強い材料でした。
2日後、Appleの返信で4.3(a)は取り下げられました。返信は「Upon further review, we've identified additional issues」で始まり、代わりに指摘されたのはスクショに価格が写っているという別件(2.3.7)だけです。メタデータを直して再提出しました。
2回目: 同じ2本が、また4.3(a)で落ちた
1週間後、再提出した2本がまた4.3(a)でリジェクトされました。同時刻に落ちたのは、提出前にUIや機能を作り分けてから出した、もう1本の資格問題集アプリです。今回はリジェクト文に次の警告が付いていました。
Repeated submissions of apps with these issues will result in extended review times. Accounts that repeatedly submit apps that do not follow the App Review Guidelines ... face removal from the Apple Developer Program.
アカウント削除の可能性に触れた警告です。ここでは3つのことをしました。
1. 反論に「同じビルドが一度4.3をクリアしている」事実を書いた
最初に送った返信は「前回は2.3.7だけの指摘だったのに、なぜ今回4.3なのか」という質問が中心でした。ただ、審査官は毎回別の人なので、これだけだと「最初から2.3.7だけだった」とも読めてしまいます。そこで補足を追送し、次の2点をはっきり書きました。
- このアプリは9/9に4.3(a)でリジェクトされ、反論を受けてAppleが9/11に取り下げた
- 今回のビルドは、取り下げられたときに審査されていたビルドと同一で、変えたのは指示されたメタデータだけ
あわせて、前回の反論で書いた固有機能ももう一度書き直しました。前回の担当者に伝わった内容は、今回の担当者には見えていない前提で臨みます。
2. 似た系列のアプリを審査から取り下げた
資格問題集アプリは、差別化してから出したとはいえ、同じ系列の3本目です。アカウント全体で見れば「量産している」ように見えます。係争中の提出一覧にコンセプトの独立した2本だけが残るように、この1本は取り下げました。
3. 新しい提出はしなかった
警告の対象は「同じ問題の再提出を繰り返すこと」です。Resolution Centerでの返信は再提出ではありません。反論はすべて返信で行い、ビルドの提出は止めました。
結果、原価計算アプリは9/23、血糖値記録アプリは9/24に審査を通過して公開されました。2回とも、コードの変更はゼロです。
反論で覆るアプリ、覆らないアプリ
振り返ると、見分け方ははっきりしています。
| 覆る(巻き込まれた側) | 覆らない(本当に似ている側) | |
|---|---|---|
| コンセプト | アカウント内の他のアプリと別の問題を解いている | 題材を差し替えただけ |
| コード | 汎用的な部品以外は共有していない | 画面・テーマ・データモデルまで共通 |
| 外形 | スクショ・説明文の構成も別物 | スクショのレイアウトや説明文の言い回しまで同じ |
| 対処 | 新ビルドなしで、固有機能を具体的に書いて反論 | 反論では覆らない。作り直しても通らなかった |
移植した資格アプリは、作り直しを選びました。最初はUIの色と書体を資格ごとに変えましたが、実測すると画面のコードは大半が元のアプリと一致したままでした。カードの並べ方や選択肢の形といった画面の骨格が同じなら、色と書体を替えても別のアプリには見えません。そこで、その資格の教材らしい紙面(目次の組み方、選択肢の番号の振り方や罫線)を画面の構造そのものに落とし込んで全画面を作り直し、その資格でしか成り立たない機能を足し、スクショと説明文も構成から書き直しました。
2回目の一斉リジェクトの後は、1本のアプリの中で資格を選び、資格ごとにアプリ内課金で解放する形への統合も考えました。Appleの4.3の説明が示している解決策でもあります。それでも統合はせず、1本ずつ、間を空けて出すことにしました。似た系列のアプリを短期間に続けて出したこと自体が、一斉リジェクトの引き金になったと見ているからです。作り直した移植アプリは9/25に単独で再提出しましたが、10月に「9問の質問票」つきでリジェクトされ、返信でも覆りませんでした。エンジンを共有している限り、外形を作り直しても通らなかったことになります。その経緯は後編の記事に書きました。もう1本の資格問題集アプリも、提出を止めています。
やってはいけないこと
- 何も変えずに再提出する。 4.3は「コンセプトの見直し」を求める指摘なので、無修正の再提出は警告の段階を進めるだけです。反論は必ずResolution Centerで
- 「ちゃんと見ていないのでは」と書く。 覆す材料にならず、心証だけが悪くなります
- 「他のアプリとコードを一切共有していない」と言い切る。 同じアカウントに実際に移植したアプリがある以上、過剰な主張は全部の反論の信用を落とします。共有している範囲は正直に限定して書きます
- 複数のアプリで同じ文面を使い回す。 テンプレートの反論文は「量産している」という印象を強めます。構成も言い回しも変えました
個人開発で使えるポイント
- 提出のペースもシグナルになる。 5日間で4本は、それ自体が目立ちます。AIで開発が速くなるほど、提出の間隔は意識して空ける必要があります
- 「エンジン共通」のつもりが「アプリ丸ごと共通」になっていないか確かめる。 移植したアプリは、元のアプリとコードを突き合わせるまで、画面までほとんど同じだと気づきませんでした。テーマ・画面・スクショ・説明文の構成まで、外から見える部分が本当に別物になっているかを確かめます
- 巻き込まれたら、改修より先に反論。 直すべき実体がないアプリを作り直すのは、時間の無駄になりえます
- 反論の記録を残す。 送った文面とAppleの返信日を残しておいたから、2回目で「同じビルドが一度クリアしている」と書けました
まとめ
- 3本が同時刻に4.3(a)でリジェクトされた。引き金はおそらく移植したアプリで、似ていないアプリまで巻き込まれた
- 巻き込まれた2本は、新ビルドなし・反論だけで4.3(a)を取り下げさせた。1週間後の再発も、経緯を書き直した反論と、似た系列の取り下げで突破して公開できた
- 反論で覆るのはその回だけ。似た系列を同じ時期に審査へ並べる限り再発する
- 本当に似ている側の移植アプリは、外形まで作り直して1本だけで出し直しても通らなかった。同じエンジンの系列は、通るのは1本目だけと考える
その後に来た「9問の質問票」と、返信で通ったアプリ・通らなかったアプリの記録は後編の記事にまとめています。iOS審査で落ちやすいポイント全般は審査リジェクト理由TOP10の記事に、別のガイドラインでリジェクトされた実例はUGCのGuideline 1.2の記事にまとめています。



