本文長(zhǎng)期更新自己提交App Store審核時(shí)候遇到的坑纹坐,以及原因和相應(yīng)的處理解決方案恰画。也希望大家如果有相同困惑或者遇到自己不知道該如何解決的審核問(wèn)題的時(shí)候,可以文章留言或者私信我拴还,大家多交流欧聘,爭(zhēng)取我們的App都能一發(fā)過(guò)審。
公司App4.4被拒1次【2019年4月22日】
沒(méi)想到這次中獎(jiǎng)了iOS2.3.1審核大禮包费封。哎,難受弓摘,線上正好有個(gè)bug急需修復(fù),然后還中獎(jiǎng)蘋果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.
被拒原因:
這次被拒我們確實(shí)是有做混淆。我們混淆的目的并不是想做什么壞事探橱,而且為了防止黑客的破解绘证,我們之前碰到過(guò)黑客拿iOS端越獄機(jī)逆向工程,因?yàn)槊芤?guī)范迈窟,所以一些方法屬性功能很容易被猜出來(lái)是干什么了忌栅,直播間被他們進(jìn)行了針對(duì)性的破解。后來(lái)通過(guò)一系列的方式索绪,這些漏洞全部都堵上了。但是考慮到關(guān)鍵的方法屬性暴露在外著實(shí)是隱患娘摔,因?yàn)榭紤]用到了混淆唤反。但是只混淆了直播間的一小部分最核心的代碼,大概也就幾十個(gè)屬性彤侍,100來(lái)個(gè)方法。并且我們混淆還是將有意義的單詞隨機(jī)抽出來(lái)組成的名字晒奕。而且從去年10月份開始一直到今年4月份,大概半年的時(shí)間上了十幾個(gè)版本都沒(méi)問(wèn)題脑慧。沒(méi)想到這次被蘋果大禮包警告。
解決方案:
1.刪除了所有App里的隱藏功能坑律。不會(huì)再出現(xiàn)審核的時(shí)候是一套囊骤,過(guò)審了又是一套。
2.刪除了所有的混淆
3.發(fā)英文郵件解釋淘捡,重點(diǎn)如下:
1)承認(rèn)錯(cuò)誤,承認(rèn)代碼混淆激况。因?yàn)檫@個(gè)我們確實(shí)是做了膘魄,那就一定要承認(rèn),不能死扛创葡。
2)著重突出我們混淆的原因是由于之前黑客在越獄的iPhone上破解App,導(dǎo)致我們損失慘重洛波,所以才做混淆,而不是出于欺騙或者隱瞞蘋果的目的才做混淆蹬挤。陳述下客觀事實(shí)棘幸,隱性的甩一部分鍋給蘋果,勾起一下審核人員的同情心吨悍。
3)闡述我們現(xiàn)在加上了服務(wù)器的一些校驗(yàn)蹋嵌,可以在不使用混淆的情況下也能保證用戶的安全性。這個(gè)意思也得表達(dá)欣尼,不然蘋果可能又要說(shuō)我們沒(méi)做過(guò)安全措施停蕉,又是麻煩的事情慧起。
4)最后在說(shuō)明我們已經(jīng)刪除所有混淆代碼,并且承諾永遠(yuǎn)不會(huì)再做這樣的事情蚓挤,懇求蘋果爸爸再給一次重新做人的機(jī)會(huì)驻子。
這個(gè)郵件一定要寫的很誠(chéng)懇很誠(chéng)懇,認(rèn)錯(cuò)態(tài)度一定要非常非常端正崇呵。
后續(xù):
等了3天,審核通過(guò)了荒辕。
公司App3.6被拒2次【2019年1月29日】
在經(jīng)歷了難熬的5天等待時(shí)間外犹褒,又被拒了。此次被拒比較莫名其妙叠骑。被拒原因如下
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)上的說(shuō)法宙枷,結(jié)合我們自己的項(xiàng)目來(lái)看,感覺(jué)被蘋果坑了圃阳,我們的三子棋和轉(zhuǎn)盤游戲全部都是原生自己寫的厌衔,根本就沒(méi)用h5。
解決方案:爸爸說(shuō)你錯(cuò)了富寿,你就是錯(cuò)了,別扯沒(méi)用的犢子苏潜,寫了一封春節(jié)特別版向爸爸認(rèn)錯(cuò)的英文郵件变勇。把直播間內(nèi)的游戲全部去掉贴唇,用審核開關(guān)的那種方式隱藏掉飞袋,爭(zhēng)取能過(guò)審把,求蘋果爸爸審核通過(guò)瓶您,讓我過(guò)個(gè)好年。
公司App3.6被拒1次【2019年1月24日】
此次被拒是提交審核的時(shí)候只給蘋果一個(gè)賬號(hào)呀袱,沒(méi)辦法體驗(yàn)到直播間里面的游戲郑叠,一些游戲必須要多人才能進(jìn)行,蘋果要求錄屏把游戲的內(nèi)容發(fā)過(guò)去油吭。
解決方案:如上
公司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
又被蘋果這種蛋疼的舉報(bào)機(jī)制拒了署拟。
解決方案:這一類問(wèn)題,只要你加上舉報(bào)功能-Report 拉黑功能-Block 用戶協(xié)議-Eula 就可以了推穷,如果App加了上述功能,你還遇到此問(wèn)題蟹腾,說(shuō)明你們這些功能隱藏的太深区宇,將入口修改的更明顯即可或者通過(guò)視頻/圖片的方式向蘋果解釋說(shuō)明
公司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個(gè)月了议谷,我們迭代發(fā)布了30個(gè)版本了,都是當(dāng)天晚上提交卧晓,第二天審核就過(guò)了。很舒服逼裆,但不幸的是今天被拒了,而且還比較嚴(yán)重耀怜。居然都警告我們下一次發(fā)布要延遲審核了。此次被拒主要是下面兩個(gè)原因
1.我們App內(nèi)部不是免費(fèi)的财破,用戶上麥聊天會(huì)扣除相應(yīng)的金幣/鉆石,但是產(chǎn)品卻把App的名字改成XXX-Free Chat Room
2.我們App有分享用戶注冊(cè)激勵(lì)碗淌,A用戶分享鏈接邀請(qǐng)B用戶注冊(cè)下載成功后,雙方都會(huì)得到一定獎(jiǎng)勵(lì)亿眠。這是個(gè)再常見不過(guò)的功能了磅废。結(jié)果蘋果不允許。
解決方案:
1.去掉App名字里面的Free
2.暫時(shí)先屏蔽掉用戶分享注冊(cè)得獎(jiǎng)勵(lì)的功能竟趾,一切先保證能上線宫峦。
3.寫了一份言辭懇切的英文回復(fù)郵件,跪舔了一下蘋果爸爸导绷。
后續(xù):并沒(méi)有等很久,大概2天左右就審核通過(guò)了妥曲。這里要注意,再回復(fù)蘋果審核人員的時(shí)候褂萧,英文最好地道一點(diǎn)葵萎,找你們公司英文最好的人去回復(fù),言辭要注意锡足,一定要恭敬壳坪。切記不要用有道百度翻譯蹩腳的英語(yǔ)回復(fù)爽蝴。實(shí)在公司里沒(méi)有英文好的,哪怕用中文回復(fù)也比蹩腳英文好一點(diǎn)蝎亚。
公司App1.0 被拒5次【2018年5月27日】
此次被拒是元數(shù)據(jù)被拒絕,讓我們解釋金幣到底可以送什么禮物?哎躺彬,真是醉了梅惯,蘋果煩的一匹,很惡心铣减。金幣,鉆石缔刹,會(huì)員這幾個(gè)東西翻來(lái)覆去的問(wèn)劣针,翻來(lái)覆去的解釋,翻來(lái)覆去的折騰灭翔,都過(guò)了大半個(gè)月了辣苏,真的是坑。
解決方案:將金幣稀蟋,鉆石,會(huì)員的來(lái)源途徑骏融,消耗途徑萌狂,包含的權(quán)限等完完整整清晰的解釋了一下,并附錄了相關(guān)截圖误趴。
后續(xù):被拒5次后务傲,耗時(shí)大半個(gè)月枣申,App 1.0版本終于上架成功看杭。
感想:在App 1.0版本的時(shí)候,為了保證App能迅速上線模孩,進(jìn)行后續(xù)工作開展贮缅。所以1.0的版本盡可能功能單一,只完成App的核心功能携悯。最好不要碰內(nèi)購(gòu),1.0的審核會(huì)比后續(xù)迭代嚴(yán)多了龟劲,加內(nèi)購(gòu)轴或,很容易蘋果就問(wèn)各種各樣的問(wèn)題,耗費(fèi)時(shí)間蚕愤。
公司App1.0 被拒4次【2018年5月25日】
此次被拒是說(shuō):我們App的內(nèi)購(gòu)商品和實(shí)際物品有聯(lián)系饺蚊,所以不能用內(nèi)購(gòu)萍诱。蘋果給的解決辦法是讓我們?nèi)サ魞?nèi)購(gòu)商品。這次被拒的莫名其妙污呼。
我們App內(nèi)購(gòu)商品只分兩種裕坊,一種是虛擬幣,用來(lái)購(gòu)買禮物燕酷,虛擬東西等用籍凝,一種是vip,主要是UI上會(huì)體現(xiàn)不同苗缩。唯一可能的地方是我們Vip功能介紹上有說(shuō)饵蒂,如果是vip,客服會(huì)優(yōu)先接待酱讶。按理說(shuō),這個(gè)應(yīng)該不會(huì)成為被拒的理由吧囤攀。
解決方案:因?yàn)椴淮_定到底是哪里和實(shí)際物品有聯(lián)系宫纬,所以我們留下了聯(lián)系方式膏萧,等待蘋果客服人員與我們聯(lián)系榛泛。
后續(xù):蘋果說(shuō)是3-5個(gè)工作日內(nèi)就會(huì)給我們回復(fù)曹锨,結(jié)果還真是要等5個(gè)工作日...電話是從加州打過(guò)來(lái)的,一個(gè)美國(guó)妹子齐鲤,態(tài)度十分不友好给郊,翻來(lái)覆去的說(shuō)些正確而又沒(méi)用的話捧灰,我們同事反復(fù)解釋,收效甚微炭庙,最后說(shuō)是不是我們VIP3的內(nèi)購(gòu)價(jià)格799美元定的太貴了焕蹄?那個(gè)妹子敷衍了兩句說(shuō)是的擦盾,太貴了淌哟。我們同事又追問(wèn)說(shuō)徒仓,那我們?nèi)サ魐ip3的內(nèi)購(gòu)可以嗎?妹子又開始兜圈子說(shuō)正確的廢話了症见。谋作。沒(méi)辦法,這次版本只好把vip3的內(nèi)購(gòu)去掉了帖池。
公司App1.0 被拒3次【2018年5月20日】
我們已經(jīng)把vip做成非續(xù)期訂閱類型商品了睡汹,但此次還是被拒了寂殉。這次被拒是元數(shù)據(jù)被拒友扰。蘋果需要我們回答好幾個(gè)問(wèn)題焕檬。主要是解釋金幣,鉆石這些虛擬幣的功能和消耗兼呵。還有問(wèn)我們是不是確定把vip3價(jià)格設(shè)置為799.99美元击喂,言下之意碰辅,是怕我們坑用戶。
解決方案:還是做相關(guān)性解釋凌彬,關(guān)于定價(jià)問(wèn)題铲敛,解釋說(shuō)我們是根據(jù)用戶的反饋和意見來(lái)確定vip的購(gòu)買價(jià)格伐蒋,我們提供的服務(wù)是值這么多價(jià)錢的,不存在欺騙用戶的行為俭正。
公司App1.0被拒2次【2018年5月18日】
上次的解決方案宣告失敗焙畔,事實(shí)證明,在內(nèi)購(gòu)問(wèn)題上寺枉,一切解釋都是行不通的绷落。雖然有N多App 都是虛擬幣去購(gòu)買vip砌烁。但我們這個(gè)就是不行催式。沒(méi)辦法荣月,只能把vip做成非續(xù)期訂閱類型。再上架試試捐下。
解決方案:將vip由消耗性內(nèi)購(gòu)改成非續(xù)期訂閱類型內(nèi)購(gòu)坷襟。
公司App1.0被拒1次【2018年5月15日】
此次被拒有兩個(gè)原因:
第一個(gè)原因:違反Guideline 2.3.2
因?yàn)?.0版本有iOS 內(nèi)購(gòu)婴程。所以添加內(nèi)購(gòu)項(xiàng)目的時(shí)候沒(méi)注意抱婉,把內(nèi)購(gòu)?fù)茝V勾選上了蒸绩,并且傳了App的icon圖作為推廣圖侵贵。如下:
被蘋果拒絕。查了一下這個(gè)內(nèi)購(gòu)?fù)茝V主要有兩個(gè)用途宴胧。一個(gè)是App Store增加曝光度恕齐,并且產(chǎn)品介紹頁(yè)面上會(huì)加上內(nèi)購(gòu)的介紹瞬逊。另一個(gè)是可以讓用戶在沒(méi)下載App時(shí)确镊,也可以用內(nèi)購(gòu)購(gòu)買你的產(chǎn)品蕾域。解決辦法倒是很簡(jiǎn)單。要么是不勾選推廣巨缘,要么是讓UI對(duì)每個(gè)內(nèi)購(gòu)商品都提供不一樣的1024*1024推廣圖若锁。注意:不能重復(fù) 不能用App Icon圖又固。App內(nèi)購(gòu)?fù)茝V詳細(xì)介紹
第二個(gè)原因:違反Guideline 3.1.1
我們App有提供VIP口予。VIP是由虛擬幣購(gòu)買的沪停,虛擬幣是內(nèi)購(gòu)而來(lái)裳涛。但蘋果意思是讓我們VIP直接也用內(nèi)購(gòu)端三。問(wèn)題是蘋果內(nèi)購(gòu)價(jià)格最高的一檔才是999美元郊闯。我們VIP(1-9)級(jí)蛛株,從4級(jí)開始就過(guò)千美元了谨履。用內(nèi)購(gòu)根本不得行笋粟。所以暫時(shí)先嘗試文字溝通的方法害捕,看蘋果是否能同意我們的說(shuō)法尝盼。
解決方案:如上
上一個(gè)公司App更新迭代情況
公司App 3.2被拒2次
第一次:又說(shuō)我們是帶有直播性質(zhì)东涡,但是并未向蘋果提供網(wǎng)絡(luò)文化經(jīng)營(yíng)許可證,因此被拒峭竣。不知道蘋果抽什么風(fēng),之前明明傳過(guò)了啊奄,又讓我們?cè)賯饕槐椤?/p>
第二次:因?yàn)檎也坏絀AP入口被拒了菇夸,我們項(xiàng)目在1.0的時(shí)候用了內(nèi)購(gòu)庄新,后來(lái)隨著版本迭代择诈,早就把內(nèi)支付去掉了羞芍,不過(guò)iTunes上面還保留了內(nèi)購(gòu)項(xiàng)目荷科,解決辦法就是把iTunes上的內(nèi)購(gòu)項(xiàng)目去掉。
公司App3.1 被拒第4-8次
被拒原因全部是因?yàn)镻LA1.2副渴,相關(guān)解決方案如下
公司App3.1 被拒第3次
此次被拒是因?yàn)閷徍巳藛T發(fā)現(xiàn)我們App帶有直播性質(zhì)煮剧,但是并未向蘋果提供網(wǎng)絡(luò)文化經(jīng)營(yíng)許可證勉盅,因此被拒草娜。
解決方案:提交網(wǎng)絡(luò)文化經(jīng)營(yíng)許可證
公司App3.1 被拒第2次
此次被拒是因?yàn)閷徍巳藛T發(fā)現(xiàn)注冊(cè)頁(yè)面沒(méi)有EULA(最終用戶許可協(xié)議宰闰,指的是一家公司的軟件與軟件的使用者所達(dá)成的協(xié)議)
解決方案:加入注冊(cè)協(xié)議移袍,讓用戶勾選
公司App3.1 被拒第1次
此次被拒有兩個(gè)原因:
第一個(gè)原因是UI在做App展示頁(yè)的時(shí)候葡盗,切了一張安卓電池欄的圖片觅够,被拒喘先。
第二個(gè)原因是我們?cè)贗nfo.plist有設(shè)置在后臺(tái)運(yùn)行的功能窘拯,是因?yàn)槲覀傾pp有語(yǔ)音直播的功能树枫,需要主人或者主持人在后臺(tái)模式下砂轻,依然可以將聲音傳播出去搔涝。這里沒(méi)做更改,選擇的是向蘋果審核人員解釋蜕煌。
公司另一個(gè)App1.0 被拒1次
1.此次被拒兩個(gè)原因
第一個(gè)原因是用戶可以在語(yǔ)音直播間里面發(fā)送彈幕斜纪,但是App本身未提供舉報(bào)功能文兑,違反了蘋果審核政策绿贞。
第二個(gè)原因是這個(gè)App是類似比鄰這種社交語(yǔ)音App籍铁,審核人員難以演示。
解決辦法:
加入舉報(bào)功能吩愧。
讓產(chǎn)品經(jīng)理錄制介紹產(chǎn)品的視頻耻警,在iTunes里面的附件中添加,以防萬(wàn)一梢杭,也上傳視頻到騰訊視頻中并在備注中提供視頻連接武契,保證審核人員一定可以看到視頻介紹荡含。
公司App版本號(hào)2.0.1被拒1次
1.此次被拒含兩個(gè)原因
第一個(gè)原因是App副標(biāo)題释液。蘋果認(rèn)為我們的標(biāo)題不能算是一個(gè)標(biāo)題误债,更像是關(guān)鍵詞堆砌。
第二個(gè)原因是公司App評(píng)級(jí)在17+, 但是用戶選擇生日時(shí)李命,是可以選擇低于18周歲的生日封字。
解決辦法:
- 讓產(chǎn)品重新起一個(gè)完整的副標(biāo)題阔籽。
- 修改代碼仿耽,讓用戶無(wú)法選擇18周歲以下的生日。
公司App版本號(hào)1.1被拒1次
1.因?yàn)锳pp名字副標(biāo)題中包含美女模特被拒
解決辦法:去掉了App名字中的美女模特君躺,審核通過(guò)棕叫。
公司App版本號(hào)1.0被拒3次
1.因?yàn)楹笈_(tái)定位NSLocationAlwaysUsageDescription字段被拒
解決辦法:去掉了該字段俺泣,然后只保留應(yīng)用內(nèi)定位權(quán)限伏钠,并且更詳細(xì)的描述了應(yīng)用內(nèi)定位的目的熟掂。
2.因?yàn)閮?nèi)購(gòu)被拒赴肚,蘋果認(rèn)為主播的時(shí)間服務(wù)等等也算是一種虛擬表現(xiàn)誉券,需通過(guò)內(nèi)購(gòu)的方式購(gòu)買踊跟。
解決方案:
利用后臺(tái)開關(guān)琴锭,做兩套邏輯,當(dāng)審核時(shí)厕九,關(guān)閉開關(guān)扁远,蘋果看到的是有關(guān)內(nèi)購(gòu)的邏輯刻像,當(dāng)審核通過(guò)后细睡,在打開開關(guān)溜徙,還是走支付寶/微信支付的流程,這樣用戶就可以正常使用了嗓违。
備注:我們?cè)?jīng)試著用中英文與蘋果進(jìn)行溝通蹂季,詳細(xì)的解釋了主播的時(shí)間等等不應(yīng)算是內(nèi)購(gòu)服務(wù)偿洁,但是一點(diǎn)用都沒(méi)沟优,后來(lái)我們項(xiàng)目中集成了內(nèi)購(gòu)净神,通過(guò)審核開關(guān)屏蔽這一塊鹃唯,就可以愉快的用支付寶 微信了坡慌『殚伲【注意:此法是2016年使用的,不適用于現(xiàn)在繞開內(nèi)購(gòu)的手段了】
3.因?yàn)閕Tunes共享UIFileSharingEabled字段被拒
解決辦法:該字段作用是啟用iTunes共享功能渣玲,如果不需要此功能只要將其設(shè)置為false即可審核通過(guò)忘衍,為防止第三方配置將其在覆蓋掉枚钓,可以在打包iPA后搀捷,通過(guò)解析iPA嫩舟,查看其plist文件至壤,觀察此字段的key值像街。