提交審核被拒
https://www.zhihu.com/question/33191327/answer/56159182
http://www.reibang.com/p/0799153e1a24
上線注意事項(xiàng):
Debug:調(diào)試階段况木,豐富的調(diào)試代碼
Release:上線上線階段 ?運(yùn)行效率高
上線的時(shí)候,Archive-》必選改為release,而run都可以
1. 問(wèn)題:用戶生成內(nèi)容(UGC)缺少必要的審核
為了防止非法濫用用戶生成的內(nèi)容旬迹,從而給用戶提供虛假信息火惊、盜取用戶的知識(shí)產(chǎn)權(quán),社交應(yīng)用以及應(yīng)用當(dāng)中包含用戶生成的信息的應(yīng)用必須包括下述功能:
過(guò)濾不良內(nèi)容
提供舉報(bào)機(jī)制
后臺(tái)服務(wù)可以提供阻止騷擾用戶的行為
提供官方聯(lián)系方式奔垦,讓用戶可以快速聯(lián)系到開(kāi)發(fā)商
解決方案:
維秀直播 App 提供了用戶實(shí)時(shí)彈幕功能屹耐,所以涉及到了 UGC,他們的處理方法是增加關(guān)鍵詞過(guò)濾椿猎,還有通過(guò)房管的方式人工審核惶岭,處理違規(guī)用戶。
2. 問(wèn)題:應(yīng)用中使用了 IDFA 被拒絕
IDFA 主要被用于廣告中區(qū)分設(shè)備的作用犯眠。AppStore 禁止沒(méi)有使用廣告而采集 IDFA 的 App 上架按灶,所以如果 App 本身沒(méi)有廣告的話,使用第三方 SDK 要注意檢查是否含有 IDFA 廣告模塊阔逼。
解決方案:
如果應(yīng)用本身有集成廣告的話兆衅,只需要在提交審核的時(shí)候勾選正確的廣告標(biāo)識(shí)符選項(xiàng)即可。
如果應(yīng)用本身未集成廣告嗜浮,卻包含 IDFA 的話羡亩。這種情況一般都是集成的第三方 SDK 中包含 IDFA 導(dǎo)致的。首先尋找是否有不包含 IDFA 的 SDK 版本危融,如果沒(méi)有的話可以參考 ShareSDK 的解決方法畏铆,通過(guò)后臺(tái)配置在審核期間為應(yīng)用添加廣告,審核完成過(guò)后將廣告展示去掉吉殃。
3. 問(wèn)題:應(yīng)用不支持 IPv6網(wǎng)絡(luò)下使用
2016年6月1號(hào)起辞居,蘋果的審核人員會(huì)在 IPv6 網(wǎng)絡(luò)上審核你的應(yīng)用,所以如果你的應(yīng)用程序無(wú)法使用 IPv6 協(xié)議蛋勺,可能會(huì)被拒絕瓦灶。
解決方案:
卓易奪寶和樂(lè)動(dòng)聽(tīng) App 上架過(guò)程中就因?yàn)?IPv6 的支持原因被拒。他們的解決方案是:
協(xié)調(diào)后端人員添加對(duì) IPv6 網(wǎng)絡(luò)的支持抱完。
App 端更新相關(guān)的第三方 SDK贼陶,比如使用 ASI 或者 AFN 的版本太低,使用最新的 AFN 即可解決問(wèn)題。
當(dāng)然這些做完之后最好在Mac 上面搭建 IPv6網(wǎng)絡(luò)供測(cè)試人員進(jìn)行完測(cè)試再重新發(fā)布。
4. 問(wèn)題:第三方登錄碉怔、支付烘贴、分享未安裝應(yīng)用,提示下載被拒
這個(gè)問(wèn)題其實(shí)被拒的原因有兩種撮胧,第一種是未安裝應(yīng)用沒(méi)有任何提示桨踪,這種情況下相當(dāng)于應(yīng)用有無(wú)效的按鈕所以會(huì)被拒;第二種是提示下載對(duì)應(yīng)的第三方 App芹啥,這也是蘋果所不允許的锻离。
解決方案:
最新的第三方登錄等相關(guān)的 SDK 目前已知的(微信,QQ墓怀,微博)都已經(jīng)對(duì)這種情況做了處理纳账,在未安裝的情況下會(huì)調(diào)用 web 進(jìn)行登錄,所以如果測(cè)試過(guò)程中發(fā)現(xiàn)可以成功在 web 上登錄的話可以不做處理捺疼。以前在沒(méi)有這種處理機(jī)制的情況下需要開(kāi)發(fā)者調(diào)用對(duì)應(yīng)接口疏虫,先判斷是否安裝了相應(yīng)的第三方 APP,如果未安裝啤呼,需要隱藏按鈕卧秘,這樣便可輕松過(guò)審。
5. 問(wèn)題:虛擬產(chǎn)品未使用應(yīng)用內(nèi)支付(IAP)被拒
根據(jù)蘋果官方最新的審核條款:如果你希望通過(guò)付費(fèi)才可以解鎖你的應(yīng)用當(dāng)中的一些功能(例如官扣,訂閱內(nèi)容翅敌,游戲貨幣,游戲關(guān)卡惕蹄,獲取優(yōu)質(zhì)內(nèi)容蚯涮,解鎖完整版本),你必須使用應(yīng)用內(nèi)付費(fèi)(IAP)卖陵。如果這種情況下遭顶,應(yīng)用使用了其他的第三方支付,應(yīng)用將被拒絕上架泪蔫。
解決方案:
審核的時(shí)候棒旗,把相應(yīng)的虛擬產(chǎn)品隱藏起來(lái),通過(guò)后再放出來(lái)撩荣,此招有風(fēng)險(xiǎn)铣揉,可能會(huì)受到警告信,甚至被封號(hào)餐曹,如果用戶量小就無(wú)所謂了逛拱,先把App 搞上架!
審核的時(shí)候,走 IAP 的支付方式台猴,審核完成后再通過(guò)服務(wù)器配置動(dòng)態(tài)切換到支付寶朽合、微信等第三方支付额湘。該法類似于方案1旁舰,也存在風(fēng)險(xiǎn)。
學(xué)習(xí)58同城嗡官,讓用戶去網(wǎng)站購(gòu)買產(chǎn)品箭窜,買了產(chǎn)品的賬號(hào)到移動(dòng)端使用功能。
老老實(shí)實(shí)的使用 IAP 吧衍腥。
6. 問(wèn)題:使用后臺(tái)定位被拒
關(guān)于位置服務(wù)蘋果的審核條款原文如下:
使用位置服務(wù)的應(yīng)用程序必須提供和位置服務(wù)直接相關(guān)的功能磺樱。使用基于位置的API不允許用于提供緊急服務(wù),或者實(shí)現(xiàn)自動(dòng)控制車輛婆咸、飛行器以及其他設(shè)備(小型的設(shè)備例如小型無(wú)人機(jī)和玩具例外)竹捉,遠(yuǎn)程控制汽車警報(bào)系統(tǒng)等。在收集尚骄、傳輸和使用用戶的位置數(shù)據(jù)之前块差,請(qǐng)確保你已經(jīng)取得了用戶的同意。
如果應(yīng)用程序使用了后臺(tái)定位服務(wù)倔丈,務(wù)必在應(yīng)用當(dāng)中闡明其目的憨闰。并且使用后臺(tái)定位的話需要提供一個(gè)明確的提醒告訴用戶這么做會(huì)加快電量消耗。
一般應(yīng)用在這一塊被拒的原因有以下幾種:
應(yīng)用根本不需要定位功能需五。
應(yīng)用需要定位功能鹉动,但是只需要短暫的獲取少數(shù)的用戶的位置,比如美團(tuán)宏邮,新聞?lì)惖膽?yīng)用需要獲得當(dāng)前用戶的所在城市泽示,卻使用了后臺(tái)定位模式。
應(yīng)用確實(shí)需要使用后臺(tái)定位蜜氨,比如打車類軟件械筛,但是應(yīng)用中卻沒(méi)有任何界面展示這些定位數(shù)據(jù)。
解決方案:
如果你的應(yīng)用根本不需要定位功能飒炎,但是還是在 info.plist 里面添加了 location in the
UIBackgroundModes key 变姨,那么在 plist 文件里面移除 UIBackgroundModes key 就可以,這中情況較少厌丑,新手小白會(huì)犯這種錯(cuò)誤定欧。
如果只是簡(jiǎn)單獲取位置不需要使用后臺(tái)定位,只需要去掉info.plist 的文件中的 UIBackgroundModes 即可怒竿。
這種情況比較復(fù)雜砍鸠,推薦的做法是通過(guò)表格或者軌跡展示出后臺(tái)定位的數(shù)據(jù),再提交審核的時(shí)候告訴蘋果那個(gè)功能需要后臺(tái)定位耕驰,具體展示后臺(tái)定位的
數(shù)據(jù)在那個(gè)界面,最后需要 Continued use of GPS running in the background can dramatically decrease battery life加到 App 描述里
面爷辱,可以參考滴滴出行的描述,否則也會(huì)被拒絕。
7. 問(wèn)題:info.plist 權(quán)限配置被拒
iOS 10 之后如果需要調(diào)用相機(jī)饭弓,藍(lán)牙等設(shè)備時(shí)双饥,需要在 info.plist 文件中進(jìn)行相應(yīng)的配置,否則應(yīng)用會(huì)直接崩潰弟断,在 iOS 10 之前則是無(wú)法訪問(wèn)咏花。另外,如果在 info.plist 中調(diào)用了配置了權(quán)限在應(yīng)用中卻沒(méi)有使用到也是會(huì)被拒的阀趴。
解決方案:
一定要注意自己的 App 在使用中用到了哪些權(quán)限昏翰,不要添加無(wú)用的權(quán)限,也不要缺少必要的權(quán)限刘急。
8. 問(wèn)題:應(yīng)用提示更新被拒
應(yīng)用內(nèi)不能有任何提示更新應(yīng)用的字樣棚菊,且應(yīng)用的更新只能通過(guò) AppStore。因?yàn)樘O果對(duì)于應(yīng)用的更新有自己的一套策略叔汁,所以禁止應(yīng)用本身提供更新方式统求,只要應(yīng)用內(nèi)出現(xiàn)。
解決方案:
如果不是很必要的話据块,盡量將應(yīng)用內(nèi)涉及到應(yīng)用更新的部分去掉球订。如果真的需要使用應(yīng)用更新,推薦的方法是應(yīng)用啟動(dòng)的時(shí)候獲取下應(yīng)用在 AppStore 上面的版本號(hào)瑰钮,與自己的版本號(hào)進(jìn)行比較冒滩,當(dāng)自己的版本號(hào)小于 AppStore 上面的版本號(hào)時(shí),提示更新浪谴,否則的話不顯示更新相關(guān)的內(nèi)容开睡。
9. 問(wèn)題:奪寶(抽獎(jiǎng))類應(yīng)用被拒
根據(jù) AppStore 審核準(zhǔn)則 20.4 的規(guī)定,抽獎(jiǎng)卷或抽獎(jiǎng)參與權(quán)的購(gòu)買苟耻,不論是透過(guò)第三方支付渠道或者余額扣款實(shí)現(xiàn)篇恒,都不能夠在 app 內(nèi)執(zhí)行。
解決方案:
卓易奪寶 App 上架過(guò)程中遇到的問(wèn)題凶杖,最后的解決方法是在審核過(guò)程中胁艰,所有的支付行為都跳轉(zhuǎn)到 Safari 瀏覽器上面進(jìn)行,審核完成后再使用支付寶等 app 平臺(tái)支付智蝠。
10. 問(wèn)題:隱私條款問(wèn)題被拒
在未獲得用戶事先允許腾么,或未告知用戶信息將被如何,在哪里使用的情況下杈湾,應(yīng)用不可以傳輸用戶數(shù)據(jù)解虱。
解決方案:
《網(wǎng)站服務(wù)協(xié)議》《隱私條款》這些都不要少,注冊(cè)時(shí)候讓用戶可勾選漆撞。另外注明需要的用戶信息用來(lái)做什么殴泰。
11. 問(wèn)題:未提供測(cè)試賬號(hào)被拒
如果應(yīng)用中有需要用到賬號(hào)或者其他資源的(例如:一個(gè)二維碼)才能使用的一些功能于宙,但未提供給蘋果,可能會(huì)被拒絕上架悍汛。原因是蘋果審核人員無(wú)法測(cè)試這些功能捞魁。
解決方案:
提供一個(gè)有效的測(cè)試帳號(hào)以及登錄信息,并提供測(cè)試功能必要的的硬件和資源(例如离咐,一個(gè)測(cè)試用的二維碼)
12. 問(wèn)題:未通過(guò) HTTPS 訪問(wèn)被拒
App Transport Security(ATS) 是 Apple 為增強(qiáng) iOS App 網(wǎng)絡(luò)通信安全提出的安全功能谱俭,適用于 iOS App 和 App Extension;在啟用 ATS 之后健霹,它會(huì)強(qiáng)制應(yīng)用通過(guò) HTTPS(而不是 HTTP )連接網(wǎng)絡(luò)服務(wù)。 WWDC 2016上提出瓶蚂,2016年底或2017年初糖埋,具體時(shí)間未定。App Store 上架審核加強(qiáng)對(duì) ATS 配置的 review窃这,即強(qiáng)制應(yīng)用必須通過(guò) HTTPS 連接網(wǎng)絡(luò)服務(wù)瞳别,而不是隨手將 NSAllowsArbitraryLoads 置為 YES,否則審核不予通過(guò)杭攻。
解決方案:
ATS 的提出祟敛,是為了在系統(tǒng)層面保障 iOS APP 網(wǎng)絡(luò)通信的安全;Apple 只所以加強(qiáng)對(duì) ATS 配置的審核兆解,是為了防止開(kāi)發(fā)者們遇到ATS相關(guān)的場(chǎng)景時(shí)馆铁,只是簡(jiǎn)單地將 ATS完全關(guān)閉(只要沒(méi)有強(qiáng)制性措施,開(kāi)發(fā)者會(huì)這么做)锅睛;在此基礎(chǔ)上埠巨,App 審核同樣會(huì)遵循原則:App Review will require "reasonable justification" for most ATS exceptions。
Apple 官方給出的可以通過(guò)審核的聲明 demo 如下:
必須使用第三方提供的服務(wù)现拒,但是其沒(méi)有支持 HTTPS辣垒;
必須通過(guò)域名連接到設(shè)備,但該設(shè)備不能支持安全連接印蔬;
必須展示不同來(lái)源的網(wǎng)頁(yè)內(nèi)容勋桶,但是不能基于 NSAllowsArbitraryLoadsInWebContent 支持的類(UIWebView / WKWebView)實(shí)現(xiàn);
載入加密的媒體資源并且其中不涉及個(gè)人信息