[創意料理] Xamarin.Forms(iOS)一個 App 提交送審被 Apple 退件拒絕的經驗分享

開發 iOS 的 App 想上架到 App Store 送審被拒絕個幾次可說是稀鬆平常的,即使我們把 App Store Review Guidelines 讀得滾瓜爛熟,還是有被拒絕的可能,而且被拒絕的理由百百種,有跟 Apple 審核團隊交手過的朋友應該就有 fu,我就我這次 App 送審被 Apple 退件拒絕的經驗做個記錄。

Guideline 2.1 - Performance - App Completeness

We are unable to complete the review of your app because one or more of your in-app purchase products have not been submitted for review.

這個是我忘了把 App 內購買項目也一起送審,在把 App 內購買項目送審之前,該填的欄位都要填上,在描述裡面清楚寫明付款後使用者會得到什麼東西,然後至少要有個螢幕快照

Guideline 2.1 - Performance - App Completeness

Your app or its metadata does not appear to include final content. Specifically, your app contains placeholder content in the app the marketing screenshots.

Please see attached screenshots for details.

送審的 App 不要有 Alpha、Beta、Test、測試...等字樣,Apple 會認為我們的 App 還不是 Final 版,如果有提供登入帳號給 Apple 操作使用,那這個帳號登進去操作時,都要看得到內容,不要有空白頁,內容更不要有 Alpha、Beta、Test、測試...等字樣,還有給 Apple 看的內容至少要與 App 預覽和螢幕快照中是一致的。

Guideline 2.1 - Performance - App Completeness

We found that your in-app purchase products exhibited one or more bugs when reviewed on iPhone running iOS 11.4 on Wi-Fi connected to an IPv6 network.

Specifically, the duration was not extended after purchasing via in-app purchase.

首先看到 bugsIPv6 不要緊張,要確認我們的 App 是不是如 Apple 所說的在 IPv6 Wi-Fi 環境底下有一些問題,可以參考這篇文章建一個模擬環境來測試看看,如果我們的 App 都運作正常,那表示 Apple 只是在強調他審查 App 的軟硬體環境而已,真正的問題是在下面,而我遭遇到的問題是 App 內購買項目付款完成之後使用期限沒有增加,最後我把購買的功能從 App 中拿掉,因為它不是必要的。

Guideline 2.1 - Performance - App Completeness

We discovered one or more bugs in your app when reviewed on iPhone running iOS 11.4 on Wi-Fi connected to an IPv6 network.

Specifically, no further process was made when we tapped on menu items on 查询 tab.

這次是說我的查詢頁籤中的項目點了沒反應,我因為這個理由被拒絕了三次,第二次被拒絕的時候我嘗試用回覆去說明查詢頁籤中的項目只是顯示一些資訊,本來就沒有設計是可點擊的,但是沒用,呈現了一個鬼打牆的狀況,這個很明顯 Apple 的審查人員並不熟悉我們的 App,第三次被拒絕之後,我在 App 審查資訊中的備註欄位特別說明這件事,並且在附件欄位附上一段操作影片,才沒有繼續出現這個拒絕原因。

Guideline 2.1 - Information Needed

We have started the review of your app, but we are not able to continue because we cannot locate the in-app purchases within your app.

如果我們有建立 App 內購買項目,但是在 App 內沒有設計可以購買的地方會被拒絕,我選擇把 App 內購買項目全刪了,一個不留。

Guideline 4.0 - Design

We noticed that the user is taken to Safari to sign in or register for an account, which provides a poor user experience.

Apple 審查人員發現無法用 Facebook 註冊一個帳號,因為我們本來就沒有設計,這個一樣在 App 審查資訊中的備註欄位特別說明這件事。

Guideline 2.1 - Information Needed

We have started the review of your app, but we are not able to continue because we need additional information about your app.

Next Steps

To help us proceed with the review of your app, please review the following questions and provide as much detailed information as you can.

- Does your app access any paid content or services?
- What are the paid content or services, and what are the costs?
- Do individual customers pay for the content or services?
- If no, does a company or organization pay for the content or services?
- Where do they pay, and what's the payment method?
- If users create an account to use your app, are there fees involved?
- How do users obtain an account?

前面幾個拒絕的原因都還好,最後這個千萬要小心,因為 Apple 懷疑我們的 App 有一些內容或服務必須要付費才能使用,如果真的是這樣,我們的 App 就必須採用 App 內購買項目的方式來讓使用者付款,遊戲類的 App 有很多都是這樣。

我們的 App 實際上是有一些內容需要付費之後才看得到的,但是這有一個不同的地方在於,使用者付費購買的是 App 以外的某一個服務,開通了這個服務之後,App 內有一些內容才看得到,而且 App 本身不提供使用者所購買的服務,看出來差異了嗎?

基本上我們的 App 是贈送的,不需要額外付費的,而這件事情就必須要跟 Apple 解釋清楚,我也是看了這篇文章之後才了解箇中差異,雖然不用改程式只要回答幾個問題就好,但是想文案也很燒腦。

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學