文档章节

iOS审核总被拒?腾讯教你提升iOS审核通过率!

o
 osc_4nmshwhm
发布于 2018/08/06 15:42
字数 3001
阅读 26
收藏 0
ipa

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

作者:Jamie,腾讯开发工程师,在iOS预审和ASO优化领域从事专项测试相关工作,为腾讯游戏近100个产品提供专项服务。
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

WeTest导读

众所周知,苹果应用商店是苹果公司提供给开发者发布和用户下载应用软件的地方,苹果为了给开发者和用户创造一个良性、公平、健康、安全的应用商店环境,制定了一系列的应用商店审核条款,所有应用必须遵循这些条款,才能获得发布上架。不可否认,应用审核在一定程度上保证了应用商店的品质,但对众多开发者来说,应用上架苹果商店,往往是一段忐忑甚至是悲壮的旅程,经常被苹果的各种理由拒之门外,让开发者苦不堪言。本文将介绍腾讯预审团队一系列的预审策略和方法,让大家了解腾讯是怎样保障提审通过率的。

iOS预审开展思路

最近,苹果在官网给出了截至2016年6月份应用被拒绝的十大条款(其中63%以上的应用被拒绝都是因为这10个条款),看似简单的条款,仍然出现很多提审被拒,其实,开发者对审核条款理解和把控不够系统,是导致提审被拒的主因。
这里写图片描述
那么,看似让人眼花缭乱的审核条款,我们有没有什么办法准确和系统的去把握呢?对此,腾讯预审团队从2014年便开始尝试一系列的探索和积累:
分析《苹果应用商店审核指南》的条款,结合过往提审被拒的案例,进行系统的测试设计,并输出成可落地的测试用例;
在以上步骤的基础上,进行自动化分析,抽离出可自动化的模块(开发对应的自动扫描工具);
将剩余的部分用例,组建专项的测试人员来进行验收;
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、应用内容和功能检查的介绍
苹果针对应用内容和功能的审核,往往会比较严格,如果其中一点不满足条款便会拒绝版本,因此,大家需要熟记每个审核要点,同时也尽量要遍历应用功能。在遍历功能时要注意重要机型和固件的适配,尽量在最新的iPhone和Pad(如应用不支持Pad,可以忽略),固件也尽量是最新的版本。对于特殊时间段,比如在秋季新系统发布前,要提前摸底beta版本兼容性,避免新系统发布时出现不可预知的兼容性问题,阻塞版本的提审节奏。
这里写图片描述
近期苹果要求App兼容IPv6网络(6月1号以后上架/更新的App,必须兼容IPv6),因此,提审前需确保应用在IPv6网络下可正常登录(IPv6网络可按照苹果官网提供指导进行部署)。除此之外,美国VPN网络也不能忽视。因为苹果的审核团队在美国,他们进行审核时,使用的是美国网络,跨洲际的网络连接,难免会出现时延大、抖动、丢包等网络问题,为了提前验证App后台服务器基于此场景下的反应,美国VPN来模拟苹果审核团队的访问App,可以提前爆露一些问题。
预审对这部分的验收,主要是包含以下两个模块:
文字内容的检查
主要检查应用中的公告、活动、提示,游戏类的邮件、新手指引、剧情对白等,同时还覆盖应用中链接的官网、论坛等网页内容,确保文字内容是满足苹果审核的相关条款;
这里写图片描述
应用内容的检查
主要覆盖应用中的图片、动画、视频、游戏的角色造型/PVE/PVP等场景界面,确保以上内容满足苹果审核的相关条款;
这里写图片描述

预审总结

以上便是iOS预审主要的工作思路,核心思想是围绕《苹果应用商店审核指南》来开展验收工作,同时也在实时跟进苹果审核政策的动态,来确保预审的方向和质量。

自动化扫描工具介绍-WeTest
为了提高IEG苹果审核通过率,腾讯专门成立了苹果审核测试团队,打造出iOS预审工具这款产品。经过1年半的内部运营,腾讯内部应用的iOS审核通过率从平均35%提升到90%+。

现将腾讯内部产品的过审经验,以线上工具的形式共享给各位。在WeTest腾讯质量开放平台上可以在线使用。

点击链接http://wetest.qq.com/ios/即可立即体验!

这里写图片描述

iOS预审工具分四步进行预审服务

【一键扫描】
只需提供ipa包、审核图片、审核视频、应用描述,即可在4小时内拿到一份完整的检测报告,定位问题的同时提供解决方案,助您成功通过审核。
【案例分享】
集结iOS审核失败常见原因,丰富案例为您提供参考依据。
【专家服务】
腾讯专家团队为您分析各种疑难杂症,提出最优解决方案。
【ASO优化】
专业优化AppStore内关键字搜索结果,让产品离用户更近一步。
希望App/手游在预审验收保证下,都可以快快乐乐过审,开开心心赚钱。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
iOS UITableView左滑操作功能的实现(iOS8-11)

WeTest 导读 本文主要是介绍下iOS 11系统及iOS 11之前的系统在实现左滑操作功能上的区别,及如何自定义左滑的标题颜色、字体大小。 一、左滑操作功能实现 1、如果左滑的时候只有一个操作按钮...

osc_grdodi9l
2018/02/07
2
0
AppStore SDK

ios审核被拒4.3 http://www.cocoachina.com/bbs/read.php?tid-1731757.html ios审核4.3被拒? 别担心 这几步让你的 App 顺利过审 https://cloud.tencent.com/info/2dbb940817ab7a53e18cc64c4......

osc_x4rg8g6r
2018/04/23
2
0
苹果软件App上架问题

0、官方网站 开发者中心 itunes connect 蒲公英 &火狐FIR 极光推送官网 优酷 哔哩哔哩 腾讯视频 极光推送官网 1、上架流程 1.1 开发者账号申请 2017年苹果企业开发者账请完号申整指南 iOS开发...

osc_bhmyqusc
2018/07/31
3
0
iOS APP 发布上架流程

由于Apple对iOS APP发布上架管理较严格,为了确保每次App每次提交,都能符合apple要求,尽快通过审核,特制定以下流程,请产品经理与研发人员配合遵守、实施。 开发人员按照产品任务要求,完...

OpenIoT
2015/07/06
8.9K
2
姗姗来迟的苹果安全:爱加密全球首推iOS应用加密技术

苹果iOS系统和安卓系统作为全球使用人数最多的手机操作系统,一直以来都备受关注,尤其在安全领域,安卓应用被破解、盗版的现象已经成为普遍;而iOS系统的封闭性被广大开发者一直认为是最安全...

3eera
2014/11/25
712
10

没有更多内容

加载失败,请刷新页面

加载更多

如何通过日期属性对数组进行排序 - How to sort an array by a date property

问题: Say I have an array of a few objects: 说我有一些对象的数组: var array = [{id: 1, date: Mar 12 2012 10:00:00 AM}, {id: 2, date: Mar 8 2012 08:00:00 AM}]; How can I sort......

javail
今天
22
0
技术教程| 百度鹰眼历史轨迹查询:轨迹抽稀功能

本文作者:用****9 本篇教程中,我们将详细地说明鹰眼历史轨迹查询(gettrack接口)中,如何通过vacuate_grade选项对轨迹进行抽稀,以及不同的抽稀力度对轨迹产生的影响。 上一篇教程中,我们...

百度开发者中心
前天
24
0
整数的最大值和最小值 - Maximum and Minimum values for ints

问题: I am looking for minimum and maximum values for integers in python. 我在python中寻找整数的最小值和最大值。 For eg., in Java, we have Integer.MIN_VALUE and Integer.MAX_VA......

法国红酒甜
今天
22
0
Quartz的Misfire处理规则 错过任务执行时间的处理机制

调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则 CronTrigger withMisfireHandlingInstructionDoNothing ——不触发立即执行 ——等待下次Cron触发频率...

独钓渔
今天
7
0
PHP解析/语法错误; 以及如何解决它们? - PHP parse/syntax errors; and how to solve them?

问题: Everyone runs into syntax errors. 每个人都遇到语法错误。 Even experienced programmers make typos. 即使是经验丰富的程序员也会打错字。 For newcomers, it's just part of the......

fyin1314
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部