前段时间我负责上架公司的两个项目,结果第二天一大早看到双双被拒,那酸爽妙不可言......现将此次爬坑过程记录下来。
众所周知,Apple审核是出了名的严格。苹果审核App大体分为三个流程,预审、机审和人工审核。我们上传ipa包的时候率先经历预审,包会被扫描API,没问题之后才可以提交。之后进入等待审核阶段,这个时候一般就是机审,我这次遇到的被拒原因4.3就是死在了机审的时候。只有机审过了才能进入人工审核。需要注意的是,人工审核使用的都是iPad来进行安装审核,如果项目不能在iPad上顺利的跑,也是会被拒的。人工审核主要会查看App的元数据,例如标题内容等等,16年闹得沸沸扬扬的IPV6也是在此处进行检测。
目前机审机制越来越严格,特别是经历了前段时间苹果被央视点名批评在App Store上有大批利用马甲包上架的非法博彩类App之后,求生欲极强的苹果随后一天内下架了两万多个疑似App,并将机审再次增加难度。例如这次我因为被查出疑似马甲包而被拒,苹果不仅对我司的开发者账号发出了警告,还给出了延期审核的处罚。
提交给苹果审核的App一般被拒的原因如下:
1.崩溃和错误;
2.不合标准的应用界面;(界面太丑)
3.不完整的信息;(App内的功能,苹果无法看到)
4.大量web网页,或者定向至博彩网站;
5.重复提交的应用程序;(马甲包嫌疑)
6.隐私描述不准确不清晰;
7.App功能太少;
8.使用违规的热更新;
9.未提供App上架所需要的资质;
苹果官方的统计如下图:
七天期间拒绝应用的十大理由 应用被拒占比我司提交审核的两个App,一个是1.0版,一个是迭代更新版。其中,迭代更新版的被拒相对比较简单,苹果在人工审核的时候遇到了闪退,拒后直接回复给我一个崩溃日志。日志很难看懂,还好我在项目里集成了腾讯bugly,在后台看了一下原因:[NSTaggedPointerString substringToIndex:]: Index 9223372036854775807 out of,这是MJ库导致的闪退,于是就把MJ库更新到最新版然后重新打包提交审核,第二天这个迭代版就通过审核上架了。另一个1.0版则遇到的问题比较多,因为
Guideline 2.5.1 - Performance - Software Requirements和
Guideline 4.3 - Design
We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.
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.的原因而被拒。翻译过来就是苹果检测到我们的代码里有私有API和马甲包嫌疑。2.5.1的问题比较容易解决,我搜了一下全局,发现项目里判断手机是否启用相机权限的时候,使用了prefs:root=privacy&path=photos这个私有API,于是更改了一下代码就OK了。关于4.3的就比较麻烦了,因为这个App的源码确实之前已经上过一次了。(回想起去年的时候,苹果监管还没有那么严,上家公司的一份源码愣是换壳后上了四个App。。。)但是遇到问题就是解决呀,根据网上的指导,我做了以下几步:
1.增加资源库的音频文件和修改资源图片的存放位置并更改图片的名字;(顺便吐槽上一个iOS,每个小模块都专门放一个资源库...)
2.增加无用的代码块和注释代码;
3.导入三方库和自己封装的类文件,pods多个无用的三方库;
4.将提交App审核账号的相关信息进行更改;(例如修改发布地区,公司网址等等.....)
5.故意间隔两天再提交;
大约花了一整天的时候用来处理这个问题,后来在间隔两三天到了周末的时候再次打包提交审核。
俗话说的好,好事多磨(又一次被拒了)......先说一下,因为App刚开始被查出来疑似马甲包嫌疑,所以苹果在第二次审核我们App的时候给与了延期审核的处罚,好在现在延期审核的时间不长,三天就给我返回结果了,这次收到被拒的原因是Guideline 2.1 - Information Needed
We have started the review of your app, but we are not able to continue because we need access to a video that demonstrates the background location and audio features of your app.
Please ensure the video you provide shows a physical iOS device (not a simulator).
嗯,苹果爸爸竟然向我要小视频用来说明App是怎么使用的,能做什么。本来想当天录制的,后来因为公司另外一个项目在赶工期,我就暂时没有理睬,心想过两天再处理吧....随后一拖拖到了周末,周末一个人在家的时候忽然想起来这个事情还没搞完,就准备用手机录屏然后翻墙上传到我的YouTube账号里提供给苹果看。又想起来为嘛以前的那个没有被拒,再次看了被拒的原因后,我觉得可能苹果想知道background location我们做了什么东西......也就是在项目中打开了如下图所示的权限:
想了下App里其实没有使用到后台定位以及其他的权限,我就把这些关闭并告知审核人员没有使用后台定位的权限。之后就重新打包新的二进制文件上传提交审核。
果不其然,又被拒了。。苹果给我的邮件还是要求我上传应用的使用视频,最终我老老实实的录制了一个视频上传到我的YouTube账号里发给了苹果再次进行审核。终于过审了。。
网友评论