總結(jié)iOS審核問題【長期更新】

本文長期更新自己提交App Store審核時候遇到的坑,以及原因和相應(yīng)的處理解決方案。也希望大家如果有相同困惑或者遇到自己不知道該如何解決的審核問題的時候,可以文章留言或者私信我,大家多交流,爭取我們的App都能一發(fā)過審。

公司App4.4被拒1次【2019年4月22日】

沒想到這次中獎了iOS2.3.1審核大禮包。哎,難受,線上正好有個bug急需修復(fù),然后還中獎蘋果2.3.1大禮包,真是急死人。

### Guideline 2.3.1 - Performance

We discovered that your app contains obfuscated code, selector mangling, or features meant to subvert the App Review process by changing this app's concept after approval to the App Store.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

**Next Steps**

- Review the Performance section of the [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/).
- Ensure your app is compliant with all sections of the [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/) and the [Terms & Conditions](https://developer.apple.com/terms/) of the Apple Developer Program. 
- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the [Terms & Conditions](https://developer.apple.com/terms/) of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/), you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

被拒原因:

這次被拒我們確實是有做混淆。我們混淆的目的并不是想做什么壞事,而且為了防止黑客的破解,我們之前碰到過黑客拿iOS端越獄機逆向工程,因為命名很規(guī)范,所以一些方法屬性功能很容易被猜出來是干什么了,直播間被他們進行了針對性的破解。后來通過一系列的方式,這些漏洞全部都堵上了。但是考慮到關(guān)鍵的方法屬性暴露在外著實是隱患,因為考慮用到了混淆。但是只混淆了直播間的一小部分最核心的代碼,大概也就幾十個屬性,100來個方法。并且我們混淆還是將有意義的單詞隨機抽出來組成的名字。而且從去年10月份開始一直到今年4月份,大概半年的時間上了十幾個版本都沒問題。沒想到這次被蘋果大禮包警告。

解決方案:

1.刪除了所有App里的隱藏功能。不會再出現(xiàn)審核的時候是一套,過審了又是一套。
2.刪除了所有的混淆
3.發(fā)英文郵件解釋,重點如下:
1)承認錯誤,承認代碼混淆。因為這個我們確實是做了,那就一定要承認,不能死扛。
2)著重突出我們混淆的原因是由于之前黑客在越獄的iPhone上破解App,導(dǎo)致我們損失慘重,所以才做混淆,而不是出于欺騙或者隱瞞蘋果的目的才做混淆。陳述下客觀事實,隱性的甩一部分鍋給蘋果,勾起一下審核人員的同情心。
3)闡述我們現(xiàn)在加上了服務(wù)器的一些校驗,可以在不使用混淆的情況下也能保證用戶的安全性。這個意思也得表達,不然蘋果可能又要說我們沒做過安全措施,又是麻煩的事情。
4)最后在說明我們已經(jīng)刪除所有混淆代碼,并且承諾永遠不會再做這樣的事情,懇求蘋果爸爸再給一次重新做人的機會。
這個郵件一定要寫的很誠懇很誠懇,認錯態(tài)度一定要非常非常端正。

后續(xù):

等了3天,審核通過了。

公司App3.6被拒2次【2019年1月29日】

在經(jīng)歷了難熬的5天等待時間外,又被拒了。此次被拒比較莫名其妙。被拒原因如下

4. 7 Design: HTML5 Games, Bots, etc.
Guideline 4.7 - Design - Third-Party Software


We noticed that your app includes code that is not embedded in the binary, but the software does not fulfill all of the requirements outlined in Guideline 4.7 of the App Store Review Guidelines or you have not provided us with an index of the software available in your app.

Next Steps

To resolve this issue, please ensure the software offered in your app:

– Is not offered in a store or store-like interface.
– Is free or purchased using in-app purchase.
– Only uses capabilities available in a standard WebKit view.
– Is offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement.
– Adheres to the terms of the App Store Review Guidelines.

Additionally, if you have not done so already, it would be appropriate to provide an up-to-date index of the software and metadata available in your app in the Review Notes section of App Store Connect. This index should include the app name, developer name, game URL, and App Store Connect Team ID for the software.

關(guān)于審核被拒4.7的網(wǎng)上一些信息
參考了一下網(wǎng)上的說法,結(jié)合我們自己的項目來看,感覺被蘋果坑了,我們的三子棋和轉(zhuǎn)盤游戲全部都是原生自己寫的,根本就沒用h5。
解決方案:爸爸說你錯了,你就是錯了,別扯沒用的犢子,寫了一封春節(jié)特別版向爸爸認錯的英文郵件。把直播間內(nèi)的游戲全部去掉,用審核開關(guān)的那種方式隱藏掉,爭取能過審把,求蘋果爸爸審核通過,讓我過個好年。

公司App3.6被拒1次【2019年1月24日】

此次被拒是提交審核的時候只給蘋果一個賬號,沒辦法體驗到直播間里面的游戲,一些游戲必須要多人才能進行,蘋果要求錄屏把游戲的內(nèi)容發(fā)過去。

解決方案:如上

公司App3.1 被拒1次【2018年11月25日】

Guideline 1.2 - Safety - User Generated Content

Your app enables the display of user-generated content but does not have the proper precautions in place.

Next Steps

To resolve this issue, please revise your app to implement all of the following precautions:

- Require that users agree to terms (EULA) and these terms must make it clear that there is no tolerance for objectionable content or abusive users

- A method for filtering objectionable content

- A mechanism for users to flag objectionable content

- A mechanism for users to block abusive users

- The developer must act on objectionable content reports within 24 hours by removing the content and ejecting the user who provided the offending content

又被蘋果這種蛋疼的舉報機制拒了。

解決方案:這一類問題,只要你加上舉報功能-Report 拉黑功能-Block 用戶協(xié)議-Eula 就可以了,如果App加了上述功能,你還遇到此問題,說明你們這些功能隱藏的太深,將入口修改的更明顯即可或者通過視頻/圖片的方式向蘋果解釋說明

公司App3.0 被拒1次【2018年11月15日】

We noticed that your app incentivizes referrals in order to sign up new users. While rewarding the invitation sender with points or other digital content is acceptable, the person receiving the invitation should not receive any rewards for downloading or registering an account to use your app.

Incentivizing downloads has a direct influence on the App Store user reviews or chart ranking.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

從5月底1.0上架后開始今天6個月了,我們迭代發(fā)布了30個版本了,都是當天晚上提交,第二天審核就過了。很舒服,但不幸的是今天被拒了,而且還比較嚴重。居然都警告我們下一次發(fā)布要延遲審核了。此次被拒主要是下面兩個原因

1.我們App內(nèi)部不是免費的,用戶上麥聊天會扣除相應(yīng)的金幣/鉆石,但是產(chǎn)品卻把App的名字改成XXX-Free Chat Room

2.我們App有分享用戶注冊激勵,A用戶分享鏈接邀請B用戶注冊下載成功后,雙方都會得到一定獎勵。這是個再常見不過的功能了。結(jié)果蘋果不允許。

解決方案:

1.去掉App名字里面的Free

2.暫時先屏蔽掉用戶分享注冊得獎勵的功能,一切先保證能上線。

3.寫了一份言辭懇切的英文回復(fù)郵件,跪舔了一下蘋果爸爸。

后續(xù):并沒有等很久,大概2天左右就審核通過了。這里要注意,再回復(fù)蘋果審核人員的時候,英文最好地道一點,找你們公司英文最好的人去回復(fù),言辭要注意,一定要恭敬。切記不要用有道百度翻譯蹩腳的英語回復(fù)。實在公司里沒有英文好的,哪怕用中文回復(fù)也比蹩腳英文好一點。

公司App1.0 被拒5次【2018年5月27日】

此次被拒是元數(shù)據(jù)被拒絕,讓我們解釋金幣到底可以送什么禮物?哎,真是醉了,蘋果煩的一匹,很惡心。金幣,鉆石,會員這幾個東西翻來覆去的問,翻來覆去的解釋,翻來覆去的折騰,都過了大半個月了,真的是坑。

解決方案:將金幣,鉆石,會員的來源途徑,消耗途徑,包含的權(quán)限等完完整整清晰的解釋了一下,并附錄了相關(guān)截圖。

后續(xù):被拒5次后,耗時大半個月,App 1.0版本終于上架成功。

感想:在App 1.0版本的時候,為了保證App能迅速上線,進行后續(xù)工作開展。所以1.0的版本盡可能功能單一,只完成App的核心功能。最好不要碰內(nèi)購,1.0的審核會比后續(xù)迭代嚴多了,加內(nèi)購,很容易蘋果就問各種各樣的問題,耗費時間。

公司App1.0 被拒4次【2018年5月25日】

此次被拒是說:我們App的內(nèi)購商品和實際物品有聯(lián)系,所以不能用內(nèi)購。蘋果給的解決辦法是讓我們?nèi)サ魞?nèi)購商品。這次被拒的莫名其妙。

我們App內(nèi)購商品只分兩種,一種是虛擬幣,用來購買禮物,虛擬東西等用,一種是vip,主要是UI上會體現(xiàn)不同。唯一可能的地方是我們Vip功能介紹上有說,如果是vip,客服會優(yōu)先接待。按理說,這個應(yīng)該不會成為被拒的理由吧。

解決方案:因為不確定到底是哪里和實際物品有聯(lián)系,所以我們留下了聯(lián)系方式,等待蘋果客服人員與我們聯(lián)系。

后續(xù):蘋果說是3-5個工作日內(nèi)就會給我們回復(fù),結(jié)果還真是要等5個工作日...電話是從加州打過來的,一個美國妹子,態(tài)度十分不友好,翻來覆去的說些正確而又沒用的話,我們同事反復(fù)解釋,收效甚微,最后說是不是我們VIP3的內(nèi)購價格799美元定的太貴了?那個妹子敷衍了兩句說是的,太貴了。我們同事又追問說,那我們?nèi)サ魐ip3的內(nèi)購可以嗎?妹子又開始兜圈子說正確的廢話了。。沒辦法,這次版本只好把vip3的內(nèi)購去掉了。

公司App1.0 被拒3次【2018年5月20日】

我們已經(jīng)把vip做成非續(xù)期訂閱類型商品了,但此次還是被拒了。這次被拒是元數(shù)據(jù)被拒。蘋果需要我們回答好幾個問題。主要是解釋金幣,鉆石這些虛擬幣的功能和消耗。還有問我們是不是確定把vip3價格設(shè)置為799.99美元,言下之意,是怕我們坑用戶。

解決方案:還是做相關(guān)性解釋,關(guān)于定價問題,解釋說我們是根據(jù)用戶的反饋和意見來確定vip的購買價格,我們提供的服務(wù)是值這么多價錢的,不存在欺騙用戶的行為。

公司App1.0被拒2次【2018年5月18日】

上次的解決方案宣告失敗,事實證明,在內(nèi)購問題上,一切解釋都是行不通的。雖然有N多App 都是虛擬幣去購買vip。但我們這個就是不行。沒辦法,只能把vip做成非續(xù)期訂閱類型。再上架試試。

解決方案:將vip由消耗性內(nèi)購改成非續(xù)期訂閱類型內(nèi)購。

公司App1.0被拒1次【2018年5月15日】

此次被拒有兩個原因:

第一個原因:違反Guideline 2.3.2

因為1.0版本有iOS 內(nèi)購。所以添加內(nèi)購項目的時候沒注意,把內(nèi)購?fù)茝V勾選上了,并且傳了App的icon圖作為推廣圖。如下:

image.png

被蘋果拒絕。查了一下這個內(nèi)購?fù)茝V主要有兩個用途。一個是App Store增加曝光度,并且產(chǎn)品介紹頁面上會加上內(nèi)購的介紹。另一個是可以讓用戶在沒下載App時,也可以用內(nèi)購購買你的產(chǎn)品。解決辦法倒是很簡單。要么是不勾選推廣,要么是讓UI對每個內(nèi)購商品都提供不一樣的1024*1024推廣圖。注意:不能重復(fù) 不能用App Icon圖。App內(nèi)購?fù)茝V詳細介紹

第二個原因:違反Guideline 3.1.1

我們App有提供VIP。VIP是由虛擬幣購買的,虛擬幣是內(nèi)購而來。但蘋果意思是讓我們VIP直接也用內(nèi)購。問題是蘋果內(nèi)購價格最高的一檔才是999美元。我們VIP(1-9)級,從4級開始就過千美元了。用內(nèi)購根本不得行。所以暫時先嘗試文字溝通的方法,看蘋果是否能同意我們的說法。

解決方案:如上


上一個公司App更新迭代情況

公司App 3.2被拒2次

第一次:又說我們是帶有直播性質(zhì),但是并未向蘋果提供網(wǎng)絡(luò)文化經(jīng)營許可證,因此被拒。不知道蘋果抽什么風(fēng),之前明明傳過了,又讓我們再傳一遍。

第二次:因為找不到IAP入口被拒了,我們項目在1.0的時候用了內(nèi)購,后來隨著版本迭代,早就把內(nèi)支付去掉了,不過iTunes上面還保留了內(nèi)購項目,解決辦法就是把iTunes上的內(nèi)購項目去掉。

公司App3.1 被拒第4-8次

被拒原因全部是因為PLA1.2,相關(guān)解決方案如下

一次關(guān)于PLA1.2審核無限被拒的坑

公司App3.1 被拒第3次

此次被拒是因為審核人員發(fā)現(xiàn)我們App帶有直播性質(zhì),但是并未向蘋果提供網(wǎng)絡(luò)文化經(jīng)營許可證,因此被拒。

解決方案:提交網(wǎng)絡(luò)文化經(jīng)營許可證

公司App3.1 被拒第2次

此次被拒是因為審核人員發(fā)現(xiàn)注冊頁面沒有EULA(最終用戶許可協(xié)議,指的是一家公司的軟件與軟件的使用者所達成的協(xié)議)

解決方案:加入注冊協(xié)議,讓用戶勾選

公司App3.1 被拒第1次

此次被拒有兩個原因:

image

第一個原因是UI在做App展示頁的時候,切了一張安卓電池欄的圖片,被拒。

image

第二個原因是我們在Info.plist有設(shè)置在后臺運行的功能,是因為我們App有語音直播的功能,需要主人或者主持人在后臺模式下,依然可以將聲音傳播出去。這里沒做更改,選擇的是向蘋果審核人員解釋。

公司另一個App1.0 被拒1次

1.此次被拒兩個原因

第一個原因是用戶可以在語音直播間里面發(fā)送彈幕,但是App本身未提供舉報功能,違反了蘋果審核政策。

第二個原因是這個App是類似比鄰這種社交語音App,審核人員難以演示。

解決辦法:

  1. 加入舉報功能。

  2. 讓產(chǎn)品經(jīng)理錄制介紹產(chǎn)品的視頻,在iTunes里面的附件中添加,以防萬一,也上傳視頻到騰訊視頻中并在備注中提供視頻連接,保證審核人員一定可以看到視頻介紹。

公司App版本號2.0.1被拒1次

1.此次被拒含兩個原因

第一個原因是App副標題。蘋果認為我們的標題不能算是一個標題,更像是關(guān)鍵詞堆砌。

第二個原因是公司App評級在17+, 但是用戶選擇生日時,是可以選擇低于18周歲的生日。

解決辦法:

  1. 讓產(chǎn)品重新起一個完整的副標題。
  2. 修改代碼,讓用戶無法選擇18周歲以下的生日。

公司App版本號1.1被拒1次

1.因為App名字副標題中包含美女模特被拒

解決辦法:去掉了App名字中的美女模特,審核通過。

公司App版本號1.0被拒3次

1.因為后臺定位NSLocationAlwaysUsageDescription字段被拒

解決辦法:去掉了該字段,然后只保留應(yīng)用內(nèi)定位權(quán)限,并且更詳細的描述了應(yīng)用內(nèi)定位的目的。

2.因為內(nèi)購被拒,蘋果認為主播的時間服務(wù)等等也算是一種虛擬表現(xiàn),需通過內(nèi)購的方式購買。

解決方案:
利用后臺開關(guān),做兩套邏輯,當審核時,關(guān)閉開關(guān),蘋果看到的是有關(guān)內(nèi)購的邏輯,當審核通過后,在打開開關(guān),還是走支付寶/微信支付的流程,這樣用戶就可以正常使用了。

備注:我們曾經(jīng)試著用中英文與蘋果進行溝通,詳細的解釋了主播的時間等等不應(yīng)算是內(nèi)購服務(wù),但是一點用都沒,后來我們項目中集成了內(nèi)購,通過審核開關(guān)屏蔽這一塊,就可以愉快的用支付寶 微信了?!?em>注意:此法是2016年使用的,不適用于現(xiàn)在繞開內(nèi)購的手段了】

3.因為iTunes共享UIFileSharingEabled字段被拒

解決辦法:該字段作用是啟用iTunes共享功能,如果不需要此功能只要將其設(shè)置為false即可審核通過,為防止第三方配置將其在覆蓋掉,可以在打包iPA后,通過解析iPA,查看其plist文件,觀察此字段的key值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容