如何在苹果审核多次被拒被警告的情况下通过审核

We will reject apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, “I'll know it when I see it”. And we think that you will also know it when you cross it.摘自苹果审核指南 https://developer.apple.com/app-store/review/guidelines/

是的,苹果才是真爸爸。
苹果App审核指南每年都会不定期地调整几次。通常在调整后,管理员登录developer后台,会收到苹果的推送让你点击“OK”,不过谁又会去仔细阅读那么一长段的指南呢?都是去ASO上看看好心人翻译提炼后的文章,顶多事后再去原文翻翻确认一下吧。
17年6月WWDC前后有一波常规调整。此次调整后审核流程加强了 自动化扫描关键字 的能力,我们团队一个月内连续两个版本、三个APP,提审近30次被拒。其中有被第三方SDK坑害的,也有我们自己一些“no zuo no die”自作聪明的行为惹怒了审核员的。好在最后经过不懈的修改和与审核团队沟通,终于通过。
总结一些有意思的点,供参考。

为什么被拒

1.私有API

不允许使用私有API
私有API包括两种,一种是代码中(包括第三方库)使用了与苹果私有API相同命名的API。另一种是代码中(包括第三方库)的确使用了私有API,这类私有API有可能在低版本iOS中是公开API,高版本被苹果私有化,要引起注意。

"2.5.1 Apps may only use public APIs and must run on the currently shipping OS. Learn more about public APIs. Keep your apps up-to-date and make sure you phase out any deprecated features, frameworks or technologies that will no longer be supported in future versions of an OS."

2.防审核

不允许使用基于绕开审核的技术,或利用隐藏功能来规避审核被拒风险。

"2.3.1 Don’t include any hidden or undocumented features in your app; your app’s functionality should be clear to end-users and App Review. Egregious or repeated behavior is grounds for removal from the Developer Program. We work hard to make the App Store a trustworthy ecosystem and expect our app developers to follow suit; if you’re dishonest, we don’t want to do business with you."

3.远程下载可执行代码

不允许远程下载可执行代码

"2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other apps. Apps designed to teach, develop, or test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the Application completely viewable and editable by the user."

4.在App store外升级APP

不允许使用第三方APP升级。不允许 包含 第三方可升级APP的平台的任何代码,哪怕你没有实际在使用升级功能。如蒲公英pgyer SDK。

违反的也是上一条"2.5.2"

审核手段

1.人工

苹果人工审核一般情况下会持续10分钟到1小时不等,更多数情况下在10多分钟左右。
人工审核会对主要界面进行肉眼审核,一些常见的审核点都在人工审核范围,如网络可用性、抽奖等商业活动是否声明与苹果无关、不能出现beta测试字样、不能出现安卓Android字样、符合年龄分级且不违反当地法律等等。并且很大可能性会对主流程进行验证,比如电商类App,审核员可能会下单小金额产品,并尝试进行支付。
虽然可能性不大,但最严重的情况是:任何只要是审核员主观认为不合适的内容,都会被拒。

2.自动化

自动化审核主要是扫描关键字,私有API、被封杀的第三方平台(pgyer)、违规关键字对应的key(如被审核员发现"iosDownUrl":"http://www.pgyer.com/xxx"这种键值对,那么单纯删除value:"http://www.pgyer.com/xxx"没用,苹果会因为iosDownUrl这个key拒绝,所以key也得删除)。

3.抓包

抓包并不是常用手段。但综合审核被拒经验来看,苹果也会用抓包的方式审核http接口的path、接口字段key与value。
比如接口中有“audit”字段,审核员人为判断为基于“防审核”的功能,从而拒绝。

审核员

审核员会中文,但与他/她邮件沟通时,最好附上中文+英文,以免无效沟通浪费时间。
审核员工作时间是美国西部时间(比北京时间慢15小时)的白天8小时制,周一至周五。其他时间不审核。
审核员是人,就会有脾气。审核员的权利也很大,可以自主决定对app的违规行为进行处罚,如果审核员认为app违规严重可能除以延期审核、下架、封号等处罚。
审核员会测试APP的主要流程,应该把审核员当做一位用户对待,不要将错误的页面、流程展现给审核员。
对于被拒的app,将会由该审核员一直跟进到审核通过。通过申诉渠道,app会被提交到“审核委员会”评判。

沟通渠道

1.Resolution center 邮件

与苹果审核团队的沟通渠道主要是通过itunes connect中的Resolution center(解决方案中心),在其中用邮件的形式进行解释说明回复。并可以附上附件,比如一些截图、简单的数据txt文档。

2.App 审核信息 section

注意:在每次提交审核时,将附件和备注说明都填写在“App 审核信息”栏目里,这是最好的方式。(新版本会继承老版本的内容,如无改变则无需再次填写)

3.电话

有时,苹果审核员会主动打电话给开发者,给予一些审核被拒修改建议。打电话的原因,猜想可能是审核员因为规避一些商业冲突纠纷,不方便书面回复。比如此次通过关键词扫描封杀蒲公英(pgyer),就是审核员通过电话直接说明“pgyer”关键词。
苹果审核员可能会留下他们自己的联系方式,如果有需要也可以打给他们。要开通国际漫游,且可能需要多打几次才会接听。
苹果审核员强调自己不解答任何技术问题,他们只会对app所违反的条例进行简单解释,至于对如何修改代码,则不会给予任何建议。需要运气好的话会给一点点提示。所以这也是最麻烦的地方,对于苹果不明讲的问题,只能一次次分析、一次次删除,一次次提交。踩坑积累经验。

防审核

可以明确,这种行为是欺骗,情结更严重。被审核出来会直接导致严厉处罚,而不仅仅是审核被拒绝。
有人说“防审核”与“ABTest”,审核员怎么区分呢?首先,审核员就像美国的大法官,他说有罪就是有罪。其次,审核员会用抓包分析、扫关键字的方式进行主观判断,比如App启动阶段请求的接口中有“audit”、“luaScruptZip”等字段,就被审核员直接指出,这是“以绕开审核”为目的的行为。
删除这些字段和本地防审核功能也不行,直到删除该接口,才得以成功。

处罚

通常的审核被拒,只需要修改后重新提交即可。如果严重违规,比如使用欺骗方式、多次反复违反审核规则,苹果审核会对app甚至itunes整个账号做出处罚。

1.延期审核

延期审核经过亲身体验大约会延期2个工作日。

2.下架app、封停itunes账号

下架app和封停itunes账号,具体时长官方没有说明,网上的说法从几天到几个月不等(360当年被苹果下架封号好几个月,也有人说1年)

申诉

对被拒的app,采用申诉的办法可以将app提交到“审核委员会”。
建议首先还是应该将明确的审核违规问题改好。如果确认是当前审核员误解了app的用意,可以提交申诉,邮件说清楚理由。

热更新

苹果禁止热更新app。热更新一定程度上也是绕开审核的行为,且对用户有一定的安全风险。
目前苹果的态度是禁止 通过下载可执行代码来修改Native代码而达到更新功能的行为。所以JSPatch中枪被封杀,ReactNative热更新存活。
但这只是目前,以后如何发展尚不明确。

预审核

预审核是通过一个工具,自动化对整个APP的代码(包括第三方库)进行自动化检测,对于可以违规关键字、私有API等进行扫描并反馈结果。

====
最后
有人说处理审核被拒要心大。
在我看来,首先一定是要对“苹果审核”这件事心存尊敬和感激。正是因为苹果将用户、将整个App store的质量&秩序放在第一位,才有了今天这么好的iOS App。
其次,不要试图绕开审核、欺骗审核。一定要老老实实把问题改掉,合规上架才是王道。
最后,跟审核员邮件沟通一定要注意表明自己正确的改正态度,记住审核员也是人。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容