App 被 Apple 拒絕的原因:5 個真實案例
作者:Mehdi Azizi
更新於 ,8 分鐘
我的 App 被 Apple 以 2.1、5.6.3、5.1.1、2.3.2 拒絕:真正原因、回覆方式與送審前檢查清單。
Apple 拒絕上架,幾乎都有明確的理由,寫在審查訊息裡:一條有編號的 guideline,通常還附上一張截圖。第一款 App 最常見的拒絕原因有:App 沒做完(2.1)、隱私申報不正確(5.1.1)、誤導性的 metadata(2.3.2)、繞過 App 內購買的付款方式(3.1.1),或是評分請求放錯位置(5.6.3)。絕大多數情況下,審查人員其實完全看懂了你的 App:是你的送審內容本身有破綻。
我會知道,是因為這些拒絕我自己都吃過。我自己開發並上架 iOS App:Solys(一款小遊戲鬧鐘)和 TradaZen(交易模擬器)都已經在 App Store 上。Solys 被拒過兩次,一次在上架前,一次在更新時;另外兩款 App,Clic 和 Nolera,也都被拒、修正後再重新送審。以下是這五次拒絕和它們的真正原因,接著是回覆的方法,以及我每次送審前都會跑一遍的檢查清單。
Apple 為什麼拒絕 App:我吃過的 5 次拒絕
Solys 的 2.1 拒絕:Demo 根本贏不了
Solys 的新手引導有一段可以玩的 Demo:要贏一個小遊戲,就像起床時一樣。在我的手機上一切正常。但審查人員是用 iPad 測試,iPhone App 在 iPad 上會以相容模式在較小的視窗中執行。在這個尺寸下,小遊戲裡留給小鳥通過的空隙變得比小鳥本身還窄,而「繼續」按鈕只有在贏了之後才會亮起。Apple 要求提供一個跳過遊戲任務的方式。
修正方式:讓 Demo 的幾何配置依螢幕實際尺寸計算,並在失敗時提供一個跳過 Demo 的連結。
教訓:每個必經步驟都必須有出口,而且每次送審前,每個必經畫面都要在最小的尺寸上測過。
Solys 的 5.6.3 拒絕:在新手引導中要求評分
第二次拒絕發生在下一次更新。Apple 寫道,App 在首次啟動或新手引導期間要求評分。評分畫面就緊接在 Demo 之後出現,使用者在 App 裡根本還沒體驗到任何東西。
修正方式:把評分請求移到流程的最後,而且只在使用者剛贏了 Demo 時才顯示。
教訓:每個敏感的請求(評分、通知、訂閱、追蹤)都要在證明價值之後才出現,絕不能在之前。
Clic 的 5.1.1 拒絕:線上的隱私權政策不是最新版
Clic 會用 AI 生成內容,而 App 裡確實有同意畫面。問題出在別處:網站上公開的隱私權政策是舊版本,沒有完整描述 App 收集的所有資料。
修正方式:公開完整的政策,加上英文摘要,並更新審查備註。
教訓:Apple 看的是你線上的政策,不是躺在你 repo 裡的那份。每次送審前,打開你申報的 URL,確認內容和 App 的實際行為一致。
Nolera 的 5.1.1 拒絕:系統請求前出現「允許」按鈕
在 iOS 真正跳出相機存取請求之前,Nolera 會先顯示一個說明畫面,上面有一個「允許」按鈕。對 Apple 來說,這個文字是在系統正式請求之前就誘導使用者接受。
修正方式:按鈕現在改叫「繼續」,App 的 8 種語言都改了。
教訓:為權限做準備的畫面是用來說明的,不是替使用者做決定。Apple 的建議寫在它的隱私設計規範裡。
Nolera 的 2.3.2 拒絕:把 App 圖示拿來當宣傳圖片
訂閱項目在 App Store Connect 裡可以設定宣傳圖片。Nolera 有兩個訂閱項目用的就只是 App 圖示。Apple 判定不符合規定。
修正方式:把兩個訂閱項目的圖片都移除,並重新建立送審。
教訓:你商品頁的每個元素都會被檢查,包括那些你隨手填的欄位,例如年齡分級。
最常踩到的 guideline 有哪些?
所有規則都在 App Review Guidelines 裡。第一款 App 最常踩到的是這幾條:
2.1:App Completeness。 App 閃退、按鈕點了沒反應、某個必經畫面在某個尺寸上過不去。如果你的 App 需要登入,請在審查備註裡提供示範帳號,否則審查人員會卡在登入畫面。這個拒絕原因的所有細節,都在我的 guideline 2.1 指南裡。
2.3:Metadata。 截圖沒有呈現真實的 App、描述承諾了不存在的功能、宣傳圖片不符規定。
3.1.1:In-App Purchase。 要在 App 裡解鎖數位內容或功能,一般規則是使用 Apple 的 App 內購買。例外情況依國家而異,而且會變動:打算採用其他付款方式之前,先看最新版的 guidelines。完整內容在 iOS App 內訂閱頁面。
3.1.2:Subscriptions。 訂閱制 App 必須清楚呈現使用者能得到什麼、價格是多少。付費畫面的常見錯誤整理在 iOS 付費牆:新手常犯的 7 個錯誤。
4.3:Spam。 App 和其他一千款長得一樣,或是本身提供的價值不夠。這是最難修正的拒絕:要從選點子的階段就開始預防。我在 guideline 4.3 指南裡有詳細說明。
5.1.1:Privacy。 資料收集申報和 App 的實際行為不符、隱私權政策不完整、請求權限時沒有清楚說明。
如何回覆 Apple 的拒絕,又不浪費好幾天?
被拒不是判決,只是一次來回。有效的流程是:
- 把拒絕原因讀兩遍。 訊息會引用 guideline,通常還附上截圖。很多開發者答非所問,就是因為讀得太快。
- 找出真正的原因。 不管是 Clic 還是 Nolera,真正的原因都不是訊息乍看之下暗示的那個。在審查人員的條件下重現問題:同類型的裝置、全新帳號、首次啟動。
- 只修正拒絕原因,別的不要動。 現在不是加三個新功能的時候:每一個改動都會擴大審查範圍。
- 在 App Store Connect 裡回覆。 用兩句陳述事實的話說明你修正了什麼,方式是回覆 App Review 的訊息。
- 只有在你很確定時才申訴。 如果你認為 App 被誤解了,Apple 允許你向 App Review Board 提出申訴,每次被拒的送審只能申訴一次。對一個理所當然的拒絕提出異議,只是白白浪費時間。
至於時間,Apple 表示至少 50% 的送審會在 24 小時內審完,90% 會在 48 小時內審完。拉長時程的是拒絕,不是排隊等待:細節在 App Store 審核時間。被拒之後的完整處理方式在 App 被 Apple 拒絕頁面。
一次本可避免的拒絕,代價是一整輪審查。給 Apple 最好的回答,就是一份讓它挑不出毛病的送審。
我每次送審前都會跑的檢查清單
這是我在自己的 App 上,一次又一次被拒之後累積出來的:
- 每個必經畫面都在最小的 iPhone、最大的 iPhone,以及相容模式下的 iPad 上測過,依照 guideline 4.0 設計的標準
- 新手引導的每一步都有出口,即使失敗也一樣
- 如果 App 需要登入,在審查備註裡提供示範帳號
- 購買流程在 sandbox 測過,包括恢復購買
- 價格、期間,以及條款和隱私權政策的連結,在 Apple 要求的位置都有出現,每種語言都有
- 線上的隱私權政策在送審當天重新讀過
- 隱私申報與 App 實際收集的資料一致,包括 privacy manifest
- 權限請求前的畫面沒有「允許」按鈕
- 評分和通知請求放在證明價值之後,而且不會用評分換取任何解鎖內容(guideline 3.2.2)
- 宣傳圖片和截圖呈現的是真實的 App,你的自訂產品頁面也一樣
如果這是你第一次上架,在 App Store 上架 App頁面整理了送審前的所有步驟。
向 App Review 說明操作流程的範本
下載 App Review 備註範本:內含法文說明、待填寫的英文備註,以及回覆拒絕的架構。它會要你寫清楚版本、在畫面中的操作路徑和預期結果。只保留你的 build 裡實際存在的內容。
把「App 能正確儲存」換成一個可重現的情境:起始畫面、操作、關閉後重新開啟、看到保留下來的結果。被拒之後,寫出修正後的行為,以及你是在哪台裝置上驗證的。如果你沒能重現問題,就說明還缺什麼才能重現。
示範帳號的帳密要填在 App Store Connect 的專用欄位裡,絕對不要放在公開檔案中。你可以用 TestFlight 測試清單準備佐證,也可以找到五份免費範本。
在送審前避開這些拒絕
Apple Review Kit 收錄了我的送審前檢查清單、我被 Apple 拒絕後修正的案例,以及會在送審前幫你檢查專案、付費牆和商品頁的 Claude Code skills。
你的 App 已經被拒了?這個 kit 能幫你找到被引用的規則、它的要求,以及修正和回覆的範例。如果你想現在就一起看看你的情況,跟我預約一小時,視訊進行。
沒有人能保證 Apple 一定會通過你的 App。從別人已經吃過的拒絕出發,只是降低你踩到同樣坑的機率。
還沒送審嗎?免費診斷會寄給你我的 Apple 防拒絕檢查清單,並告訴你還剩哪些事要做。如果你還在開發階段,首頁會告訴你如何在記住這些拒絕的前提下開發手機 App。
常見問題
為什麼我的 App 被 Apple 拒絕?
幾乎都有明確的理由,寫在審查訊息裡:一條有編號的 guideline,通常還附上一張截圖。第一款 App 最常見的原因是 App 沒做完(2.1)、隱私申報不正確(5.1.1)和誤導性的 metadata(2.3.2)。另外還有繞過 App 內購買的付款方式(3.1.1),以及放錯位置的評分請求(5.6.3)。
為什麼我的 App 在我的 iPhone 上正常,卻還是被拒?
因為審查人員可能在和你不同的條件下測試。以我的小遊戲鬧鐘 Solys 為例,審查人員用 iPad 測試,iPhone App 在 iPad 上會以相容模式在較小的視窗中執行。在那裡 Demo 根本贏不了。修正方式:讓 Demo 依螢幕實際尺寸計算,並在失敗時提供跳過的連結。
Apple 拒絕我的 App 時該怎麼辦?
把拒絕原因讀兩遍,然後在審查人員的條件下重現問題,找出真正的原因:同類型的裝置、全新帳號、首次啟動。只修正拒絕原因,其他都不要動,因為每一個改動都會擴大審查範圍。接著在 App Store Connect 裡回覆,用兩句陳述事實的話說明你修正了什麼。
可以對 Apple 的拒絕提出申訴嗎?
可以,但只有在你很確定時才這麼做。如果你認為 App 被誤解了,Apple 允許你向 App Review Board 提出申訴,每次被拒的送審只能申訴一次。對一個理所當然的拒絕提出異議,只是白白浪費時間。否則,就修正拒絕原因,然後在 App Store Connect 裡回覆。
被拒會拉長上架時間嗎?
會。Apple 表示至少 50% 的送審會在 24 小時內審完,90% 會在 48 小時內審完:所以拉長時程的是拒絕,不是排隊等待。一次本可避免的拒絕,代價是一整輪審查。審核時間的細節在 App Store 審核時間。
把 App 送給 Apple 審查前要檢查什麼?
在最小的 iPhone、最大的 iPhone 和相容模式下的 iPad 上測試每個必經畫面,然後在 sandbox 測試購買流程,包括恢復購買。送審當天重新讀過線上的隱私權政策;如果 App 需要登入,在審查備註裡提供示範帳號。這份檢查清單是我在自己的 App 上,一次又一次被拒之後累積出來的。