论 Apple Store 审核
审核流程总结
一、预审阶段
- Info.plist 配置文件扫描(即属性列表),iOS 的 APP 都应用 info.plist 文件来贮存元信息,用来实现决定 bundle 所显示的 ICON,以后 APP 反对关上的文件类型,服务申明等,就是看 plist 配置文件字符是否有标准和缺失;
次要分类为两步骤:
第一步为上传苹果时苹果 Application Loador 等利用对于适配的图片规格属性和视频规格属性的查看,第二步为上传后苹果的性能查看。 - 公有 API 扫描,公有 API 和 Non-public API,是苹果明令禁止的条款,会应用反编译工具,对 IPA 的可执行文件进行反编译解析,获取头文件中库,办法和类的汇合,再逐个比照公有库和 non-public 库。
文件大小扫描,次要饱含 ipa 包的文件大小(小于 2GB),可执行文件得注释段大小(解压 ipa 包后,要小于 80MB)和包中每个文件的大小(查看每个文件得大小小于 500MB)
二、机器审核阶段
- 代码块扫描:
AI 编译器会对每个函数生成去辨认函数名,类名,办法名,还有全局字符串援用表的扫描辨认,次要是文本类的查重排重。
1)这里须要针对不同的语言,进行不同的批改能力绕过苹果的辨认库,比方函数减少一些默认参数。
2)批改类名,办法名,属性名以及文件名这些。 - 资源文件扫描:
次要针对各个文件扫描进去的 MD5 进行比照。
1)这里就要人工对各位小文件进行代码混同,对资源文件轻压缩,扭转 hash 值。
2)资源改名,适当增加一些无用的资源。
三、人工审核阶段
- 次要 APP 性能检测和体验检测,例如用测试账号登陆 APP 体验性能是否有 bug。
- ATT、IPV6、等各种权限相干也在此处检测。
- 名称,副标题,利用截图,视频,ICON,利用形容等利用场景内容和性能的标准。
经验教训
在苹果人工审核阶段,是属于黑盒审核,除了苹果的审核指南能够有肯定的指导意义,其余的一切都是苹果审核说了算(叫爸爸)。大多数被拒都是在此阶段产生,各种各样的姿态也是层出不穷,当然网络上也有各种针对被拒起因的方法,但也有无奈检索到的参考的状况,所以在此记录一些特地的来自爸爸的教训
坑不少,缓缓填😩
一、如果和版本一起提审的有新的商品,被拒后须要去商品页查看商品状态!
(上个月刚产生,好像回到了 15 赛季,苹果的一个审核周期长达两周😭
背景:该版本有 ATT 权限相干、有新的商品随之一起提审
提审后第一次被拒:ATT 权限相干,咱们只在注册阶段收集,苹果审核人员没有体验到,打回。随后咱们立马回复了苹果,然而等了四五天始终没有再次审核的反馈,以往教训是在苹果审核后盾做了回复后个别第二天就会有论断。
骚操作:经验主义,苹果后盾 BUG 了!咱们撤回该版本再从新提审,应该很快就失常过审啦。以前的确这样做过,也的确很快就通过了审核🤔
五天后 … 毫无反馈,经善意经营共事揭示才发现,商品列表详情页外面有个小红点,显示须要开发者解决 ………!
整个苹果后盾页面没有任何无关商品出问题的提醒(咱们在期待审核期间还给苹果打了电话发了邮件询问审核迟缓的问题,后果回答都是失常流程,等着就行..),必须点进商品列表详情页,能力看到无关提醒,几乎了 ….
商品自身也没有问题,就是版本被拒后,商品给一起打回了,所以我把商品的名字和形容别离叫了个句号再保留,红点报错隐没了,显示为黄色期待审核中 …….
第二天,审核通过了。。