技术教程运营推广
鹅厂工程师手把手教你提升iOS审核通过率
最近,苹果在官网给出了截至2016年6月份应用被拒绝的十大条款(其中63%以上的应用被拒绝都是因为这10个条款),看似简单的条款,仍然出现很多提审被拒,其实,开发者对审核条款理解和把控不够系统,是导致提审被拒的主因。
那么,看似让人眼花缭乱的审核条款,我们有没有什么办法准确和系统的去把握呢?对此,腾讯预审团队从2014年便开始尝试一系列的探索和积累:
1.分析《苹果应用商店审核指南》的条款,结合过往提审被拒的案例,进行系统的测试设计,并输出成可落地的测试用例;
2.在以上步骤的基础上,进行自动化分析,抽离出可自动化的模块(开发对应的自动扫描工具);
3.将剩余的部分用例,组建专项的测试人员来进行验收;
4.App每次版本提审,通过以上测试验收后,才会正式提交给苹果审核;
腾讯预审的探秘
根据以上工作思路,腾讯预审团队对审核对象进行模块的划分,主要包含ipa包、提审资源以及应用内容和功能3大模块(一共整合了150+个测试点及测试用例,其中自动化扫描项70+个):
ipa包的检查
主要是确保ipa中info.plist、包/文件大小、icon规格、私有API、第三方SDK、64位等内容符合苹果要求,此部分的验收,腾讯预审团队已开发出自动化工具,通过自动扫描来完成;
提审资源的检查
主要是确保提交的应用截图、视频、AppIcon、应用描述等资源是符合苹果要求的,其中资源规格属性的验收,预审团队已开发出自动化工具,通过自动扫描来完成;但资源的内容、文案等部分内容的验收,还需要人工来审查;
应用内容和功能的检查确保应用的内容满足苹果审核审核指南中安全、性能、设计、法律等章节的条款,通常需要覆盖安装、登录、IAP支付、公告、活动、邮件、icloud文件存储、美国VPN网络连通性、IPv6网络连通性等应用场景内容和功能,此部分的验收,全需要人工来审查;
除此之外,预审团队通过实时跟进苹果审核动态,依此来不断的更新和完善验收方案,持续保障产品的提审通过率,得到越来越多产品的认可,截止到今年7月,服务App产品已累计100+个,每月完成的转测次数120+次。在2016上半年的提审数据统计可见,尽管有IPv6、提审图片/视频等政策变更的冲击,提审通过率仍旧保持在85%以上,体现了预审方案的工作成效:
各模块被拒的占比,详情如下图:
在以上被拒的数据统计中,可以发现,更多的是在游戏功能、内容和提审材料的内容,而ipa包和提审资源规格部分被拒的次数占比很少,自动化工具带来的质量和保障也得以体现。
预审测试内容解读
1、Ipa包检查的介绍
Ipa包检查项主要包含以下几方面,如info.plist、私有API、第三方SDK、64位、icon文件等等,其中几个重要扫描规则我们将逐一进行介绍:
1.1 Info.plist检查
Info.plist是一种结构化的文本文件,通常所说的 “属性列表”,iOS的app都使用Info.plist文件来存储元信息,用来实现决定bundle所显示的icon,当前app支持打开的文档类型,服务声明等等。关于此部分扫描规则,来源于《Information Property List Key Reference》,包含如下方面的内容:
1.2 Icon检查
苹果官方对iPhone、iPad、iPod等应用程序的icon有明确的要求:要求ipa包中必须包含180x180,120x120,76x76,152x152,167x167尺寸的PNG格式的icon(详见下表),并且不同尺寸的icon内容要一致,关于此部分的扫描规则,来源于《iOS Human Interface Guidelines》:
关于App icon的检查,采用自动化方法实现自动解压ipa包,并逐一核实icon图标是否存在并满足要求,对于不满足要求的ipa包,给出告警提示:
1.3 私有API检查
私有API和non-public API,是苹果明令禁止的条款,每次预审都会重点跟进这部分的扫描结果。关于这块自动化的思路,在之前分享的一些文章中也曾提过了,主要是采用一些反编译工具,对ipa的可执行文件进行反编译解析,获取头文件中库、方法和类的集合,再去逐一比对私有库和non-public库,如有命中则给出告警提示:
1.4 文件大小检查
此部分扫描内容,主要包含ipa包的大小、可执行文件的正文段大小和包中每个文件的大小三个方面:
扫描如有不满足项,则给出告警提示:
2、提审资源检查的介绍
提审资源包含提审图片、提审视频和应用介绍三部分,苹果对提审资源要求,主要是两方面:规格属性和内容,对于前者,预审是通过自动化来验收,而后者则是通过人工来审查的。
提审资源规格属性的扫描规则,来源于《iTunes Connect Developer Guide》,预审当前主要覆盖以下几方面的内容:
对于不满足要求的资源,则给出告警提示:
提审资源的验收规则,来源于《iTunes Connect Developer Guide》和《App Store Review Guidelines》,预审主要覆盖以下几个方面内容:
每一种分辨率的视频,必须是在对应分辨率的真机上录制生成,不能采用拉伸、剪裁、填充等方式处理生成(如在iPhone5设备上录制的视频,通过拉伸的处理方式,生成iPad分辨率的视频)。 经典案例
【案例1】
《项目A》x.17.5版本,提审图片不能真实反应App的内容,导致被拒。
【应对措施】
图片中尽量避免提供与应用无关的内容,要表现出应用的真实内容,尤其是游戏类应用的截图,需体现游戏场景、画风、特色玩法等。针对此问题,产品修改并通过苹果审核的图片如下:
【案例2】
《项目B》x.1.10版本,视频中出现手机设备、并且存在游戏中没有的内容,宣传成分太多,因此被拒。
【应对措施】
在苹果真机设备上录制应用的真实内容,尽量避免加入广告、特效等宣传成分的内容。
3、应用内容和功能检查的介绍
苹果针对应用内容