
Don't let people tell you your ideas won't work. If you're passionate about an idea that's stuck in your head, find a way to build it so you can prove to yourself that it doesn't work.
- Dennis Crowley, FourSquare
恭喜你 !在進行 App 開發的最後步驟之前,你可能已歷經了數週或數月的努力。經過 Beta 測試以及大量的錯誤修復後,你的 App 終於可以上傳了。
在上一章中,你已經將 App 二進位檔(Binary )上傳到 App Store Connect,因此將 App 提交到 App Store 非常簡單。提交 App 後,Apple 的 App 審查團隊會對其進行審核,然後再將其發布到 App Store。對於第一次送審的App 開發者而言,向 App Store 提交 App 是一個夢魘,你可能需要提交多次才能通過 Apple 的審核。
在本章中,我會引導你完成 App 的上架程序,並且給你一些指引,以最大程度減少被退件的可能性。
就開發者的角度來看,App 的審核過程如同黑箱作業,我依然記得我向 App Store 提交第一個 App 後被退件的那種受挫感,從那時起,我了解到你可以採取一些措施來最大程度減少被退件的可能性。
在提交 App 之前,你有做過測試嗎?若你已學習過前兩章的內容,你應該已經在實機上測試了你的 App,並且邀請了一群 Beta 測試者做過測試。不過,讓我再次重申測試的重要性,你不應該只用內建的模擬器測試你的 App,你必須至少在 iOS 實機上進行測試, 如果這個 App 是通用的,則記得要在 iPhone 與 iPad 上測試。
假使你的 App 整合其他的服務(如 iCloud ),則確認你已在行動通訊與 Wi-Fi 網路測試過。可能的話,跟著上一章的說明來對你的 App 進行 Beta 測試,如果你提交的 App 無法正常運作或者會無預期當機,則 Apple 一定會退件。
另外,請記得在一般及特殊的狀況下測試你的 App。假使你的 App 需要網路才能正常運作,那麼若是在沒有訊號的情況下會發生什麼事情呢?App 是否會當機或者只是顯示出錯誤訊息呢?這些都是你必須注意的事情,並確保你的 App 在所有情況下都能夠正常運作。
遵循 App Store 的審核指南 - 儘管我們認為App Store 的審核過程如同黑箱作業,Apple 也有提供審核指南給開發者參考, 你可以訪問該審核指南(https://developer.apple.com/app-store/review/guidelines/.))。雖然我建議你仔細閱讀一遍,但主要有以下重點:
你也應該注意你的 App 標題是否包含任何 Apple 的商標,我曾經建立過一個有關 iOS 的圖書 App,並且取名為「iPhone Handbook」,而這個 App 立刻被 Apple 退件,之後我修改 App 標題為「Handbook for iPhone」,就順利通過審核了。Apple 允許 Apple 這個字的用法是在「作為參考」的情況才行,像是使用「for」的字眼。
送審的詳細資訊可以參考Apple 的指南: https://www.apple.com/legal/intellectual-property/guidelinesfor3rdparties.html 。
若想進一步了解常見會造成App 被退件的原因,請參考 https://developer.apple.com/app-store/review/rejections/。另外,不要忘記看《App Store Review guidelines》 (https://developer.apple.com/app-store/review/guidelines/)。
若是你還沒有讀過前一章,則返回閱讀在 App Store Connect 建立 App 紀錄並上傳 App 打包檔的程序。
N現在至 https://appstoreconnect.apple.com ,並選取「My Apps」,然後選擇「FoodPin App」。假設你已經完成在 App Information 中的所有必需資訊,在側邊列選單中點選「Pricing and Availability」,若是你之前設定過價格,這是再次檢查你的設定的好機會。App Store Connect 的最新版讓開發者可以規劃價格變動,假設你希望 App 剛上架時可免費下載,而過一段時間後,就改為付費版 App,這個「Plan a Price Change」選項即是可以幫你提前規劃未來的價格變動,如圖 27.1 所示。

接著到「Prepare for Submission」選項,向下捲動到 Build 區塊,點選「Select a build before you submit your app」按鈕來加入建置版本,並選擇要提交的建置版本,如圖 27.2 所示。

最後,儲存變更並點選「Submit for Review」按鈕來上傳你的 App,如圖 27.3 所示。填寫好出口合規資訊(Export Compliance )、內容權利(Content Rights )及廣告識別碼(Advertising Identifier )後,你的 App 就可以提交了。

成功提交你的 App 後,狀態會變更為等待審核。
現在,下一步是什麼呢?除了耐心等待以外,你也無法做任何事。在過去,你的 App 需要等待大約七天才能獲得審核結果;近年來,Apple 開始將審核時間從一週縮短到兩天以內。
平均而言,50% 的 App 在 24 小時內就會開始審核,大約 90% 的 App 在 48 小時內會做審核。
因此,請保持耐心,不管你的 App 通過與否,你將會收到電子郵件的通知。
再一次恭喜你 !你已經建立了真實App,並學習如何上架到App Store。我期許你的App 第一次提交就可通過Apple 的審核,即使被退件,也不要失望,許多iOS 開發者都有相同的經驗,只需解決問題並重新提交你的App 即可。
最後,謝謝你閱讀本書,這是一段漫長的旅程,我期望你一切順利,能夠很快發布你的App。若是你的App 已通過審核,我很樂意聽到你的成功故事,歡迎隨時 Email 至 https://facebook.com/groups/appcoda 。
本書尚未結束,下一章我將介紹幾個主題。