iOS App 上架流程與審核重點:開發者必知的送審準備事項

Published on: | Last updated:

好,今天要來聊聊這個…嗯,讓很多新進開發者很頭痛的問題,就是 iOS App 的上架流程。說真的,這個東西…你說它複雜嘛,其實按表操課也就是那些步驟;但你說它簡單嘛,很多人就是會卡在蘋果那個…嗯…有點玄學的審核上。我自己是覺得,搞懂蘋果真正在意的「眉角」,有時候比你把程式碼寫得多漂亮還重要。

先說結論

一句話,就是「不要想著耍小聰明,但要學會換位思考」。你要把那個匿名的審查員當成一個…嗯…一個很忙、沒什麼耐心,而且把使用者體驗看得很重的「使用者」。你的 App 在他手上如果有一丁點不順、看不懂,或是感覺「毛毛的」,那你就很可能要準備收退件通知了。

一切的起點:註冊與費用

好,這個是最基本的。你得先有個 Apple 開發者帳號。這個…現在申請其實不難,但就是要付錢。個人或公司行號,一年就是 99 美元。對,是「年費」,所以你的 App 只要想掛在 App Store 上,這筆錢就是每年都要繳,不然 App 就會被下架。在台灣這邊,用信用卡線上刷一下,大概台幣三千四左右,很快就能搞定。不過啊,我記得我第一次弄的時候,付完錢還等了一兩天才完全開通,有時候他們會需要做身份驗證,甚至要你提供有照片的證件,所以不要拖到最後一刻才申請。

啊對了,還有一種是企業帳號(Apple Developer Enterprise Program),那個是 299 美元一年,主要是給公司內部大量安裝用的,跟我們一般上架到 App Store 不太一樣,大部分人是用不到的。

上架前的準備:從 Xcode 到 App Store Connect

OK,假設你的 App 寫完了,在模擬器上也跑得很順。接下來才是重頭戲的開始。

整個流程大致上是這樣:

  1. 憑證、ID、描述檔:這三個東西真的…是新手的惡夢。簡單講,App ID 是你 App 的身分證,獨一無二。憑證(Certificates)是證明「你就是你」,有分開發用跟發佈用。描述檔(Provisioning Profiles)就是把前面這兩樣東西,再加上你授權可以安裝的裝置,打包在一起。以前這個超麻煩,現在 Xcode 已經聰明很多了,很多時候勾一勾「Automatically manage signing」它會自己搞定。但…嗯…出錯的時候你還是得回來手動弄,所以最好還是對它有點基本概念。

  2. 打包(Archive):在 Xcode 裡,你會選擇「Any iOS Device」,然後從上面的選單選 `Product` -> `Archive`。這一步就是把你整個 App 打包成一個準備要上傳的檔案。沒什麼特別的,但如果你的專案設定有錯,這一步就會失敗。

  3. 上傳到 App Store Connect:Archive 成功後,Xcode 會跳出一個視窗,讓你直接上傳到 App Store Connect。App Store Connect 就是蘋果的後台管理系統,你所有的 App 資訊、銷售報告、審核狀態都在這裡看。上傳需要一點時間,看你的 App 大小跟網路速度。

上傳成功之後,你就可以稍微喘口氣,去 App Store Connect 的網頁後台繼續作業了。

App 送審到上架的完整流程示意圖
App 送審到上架的完整流程示意圖

後台填寫:魔鬼藏在細節裡

進到 App Store Connect 後台,你會看到一堆要你填的欄位。這裡就是…嗯…審查員第一眼認識你 App 的地方,千萬不能亂寫。

  • App 截圖與預覽影片:這超級重要!拜託不要直接從模擬器隨便截幾張圖就上傳。你的截圖要乾淨、要能凸顯 App 的核心功能,最好上面能加一些簡單的說明文字。蘋果有規定尺寸,不同尺寸的 iPhone、iPad 都需要準備。如果你做得亂七八糟,審查員會覺得你很不用心,使用者看了也不會想下載。

  • 名稱、描述、關鍵字:App 名稱現在限制 30 個字。描述要寫清楚你的 App 是做什麼的,有什麼特色。關鍵字有 100 個字元可以用,不要浪費,把所有可能被搜尋的詞都放進去,但不要放跟你的 App 無關的或是競品的名稱,會被退件。

  • 隱私權政策 (Privacy Policy):只要你的 App 有收集任何使用者資料,哪怕只是 email 登入,你就必須提供一個隱私權政策的網址。沒有這個,百分之百會被退件。

  • App 隱私權標籤 (Privacy Nutrition Labels):這幾年越來越重要的東西。你必須誠實地…對,誠實地勾選你的 App 收集了哪些類型的資料、這些資料會不會連結到使用者個人身份、是不是用來追蹤等等。 這裡亂填被抓到,後果很嚴重。

  • [最新重點] 隱私權清單 (Privacy Manifests):從 2024 年春天開始,蘋果就強制要求了。這東西更進一步,你不只要宣告自己 App 的隱私行為,連你用的第三方 SDK(比如 Google Analytics、Facebook 登入)也要一併處理。 你得確保你用的第三方函式庫都有提供自己的隱私清單,然後在你的專案裡把它們整合進來。Xcode 會幫你產生一份報告。如果你的 App 用了某些蘋果認定的「需要理由的 API」(Required Reason APIs),例如讀取使用者預設設定,你就必須在清單裡說明你為什麼要用它。沒寫清楚,從 2024 年 5 月 1 號開始就不能上架了。

  • 審核注意事項:這區塊是給你跟審查員溝通用的。如果你的 App 需要登入,請務必提供一組測試帳號密碼!不然審查員進不去,他怎麼審?直接退件。 如果你的 App 有一些比較複雜或是不好發現的功能,也可以在這裡說明,甚至附上操作影片的連結。總之,盡量降低審查員理解你 App 的門檻。

在 App Store Connect 後台填寫隱私權清單的實際畫面
在 App Store Connect 後台填寫隱私權清單的實際畫面

常見的審核地雷與被拒理由

送出審核之後就是漫長的等待…有時候快的話一兩天,慢的話一兩個禮拜都有可能。被退件是家常便飯,我自己就遇過好幾次。這裡整理一些最常見的地雷,很多都是血淚教訓啊。

地雷項目 容易被退件的作法 (別這樣做!) 比較保險的作法
Guideline 2.1 - App Completeness App 裡有按鈕按了沒反應、閃退、或是有明顯的 Bug。或是直接放一個 WebView 包個網頁就想上架。 送審前自己先用 TestFlight 找親朋好友測個幾輪吧。功能一定要完整,不能有看起來像「施工中」的頁面。
Guideline 4.2 - Minimum Functionality 功能太過簡單,例如只有一個計算機或手電筒。蘋果會覺得這種 App 太多了,沒有上架的價值。 思考你的 App 提供了什麼「獨特」的價值。就算只是個計算機,有沒有特別的歷史紀錄功能?或是特別的佈景主題?
Guideline 4.3 - Spam 這條是超級大魔王。最常見的就是做「馬甲包」,也就是做好幾個功能幾乎一樣、只是換個名字跟圖示的 App。蘋果現在對這個抓得非常嚴,被抓到可能整個開發者帳號都會被封掉。 如果你的 App 只是針對不同地區或族群提供些微不同的內容,請用一個 App 搭配 App 內購買(In-App Purchase)來處理。千萬不要複製專案改改名字就想再上傳一個。
Guideline 5.1.1 - Privacy 跟使用者要了一堆權限,像是相簿、聯絡人、地點,但 App 裡根本沒用到這些功能,或是在隱私權政策裡沒寫清楚用途。 用到的才要,而且要在對的時機點跳出請求視窗,並附上說明。例如要上傳照片才跟使用者要相簿權限,而不是一打開 App 就全部要。
台灣特有的規定 特別是遊戲類 App。以前有些中國大陸的遊戲沒透過台灣代理就直接上架,後來都被要求要完成遊戲分級跟代理商資訊登錄。還有,像是博弈或牽涉現金交易的功能,在台灣的法規下要特別小心。 如果你做的是遊戲,一定要去了解台灣的遊戲軟體分級辦法。還有,金流部分如果不是走蘋果的 IAP(App 內購買),而是接第三方支付,審核會非常非常嚴格,除非你有特殊理由,不然基本上都會被擋。

關於 Guideline 4.3 Spam 的補充

這個 4.3 條款真的很…很玄。我看過很多開發者在論壇上哀嚎,說自己的 App 明明是自己從頭寫的,卻被蘋果用 4.3 罐頭訊息拒絕,理由是「跟其他 App 太像」。這有時候不是指你抄襲,而是蘋果覺得你的「點子」在 App Store 上已經太飽和、太氾濫了。像是…嗯…手電筒 App、放屁聲 App 之類的。

更慘的是,有時候審核是很主觀的。可能你的 App 這次過了,下次更新就被 4.3 擋下來。或是你的 App 被擋,但你看著商店裡一堆跟你長得差不多的競品卻活得好好的。這種不一致性真的很讓人挫折。說真的,遇到這種情況,你能做的就是盡力在給審查員的訊息裡,強調你的 App 跟別人有什麼不同、提供了什麼獨特的價值。如果還是不行,有時候…唉,也只能摸摸鼻子,想辦法改版了。

同一個 App,兩種不同截圖風格給審查員的觀感差異
同一個 App,兩種不同截圖風格給審查員的觀感差異

如果被拒絕了,該怎麼辦?

首先,不要慌張,也不要暴怒去罵蘋果,那沒用。仔細閱讀他們給你的退件理由,通常會附上是違反了哪一條審核指南。雖然有時候理由很罐頭,但還是有跡可循。

你可以在 App Store Connect 裡面回覆審查員,跟他溝通。如果真的是你 App 的問題,那就乖乖修正後再重新提交一次。如果你覺得是審查員誤會了,你可以禮貌地解釋,並提供更多資訊。真的覺得審查不公,還有一個「申訴」的管道(Appeal an App Review Decision),但那個流程更久,除非你很有把握,不然通常是先想辦法跟當前的審查員溝通解決比較快。

總之,整個上架流程就是一場…嗯…跟蘋果審查員的「溝通」過程。你的 App 本身要做好,所有該填的資料都要誠實、清楚地準備好。把所有可能讓審查員困惑、或覺得麻煩的地方都先排除掉,這樣就能大幅提高一次就通過的機率。希望這些經驗對大家有幫助啦。

你遇過最扯的被拒絕理由是什麼?或是有什麼上架的血淚史?在下面留言分享一下,大家一起取暖吧!

Related to this topic:

Comments

  1. Guest 2025-09-02 Reply
    請問這份 App 開發指南好像很實用耶!我最近也想做個 APP,不過對事前審查和介面設計這塊還滿不熟的。有沒有推薦的學習資源或是經驗分享?感覺做 App 好像也不是那麼容易啊~
  2. Guest 2025-06-04 Reply
    欸不是啦,你們這份清單看起來好像很理想,但現實中真的可行嗎?Apple 的審查機制那麼嚴格,小開發者怎麼可能輕易過關?誰能保證這些步驟真的有用?
撥打專線 LINE免費通話