精选文章 / 深度解读

告别被拒,如何提升iOS审核通过率(上篇)

iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬。那么问题来了,我们有没有什么办法准确把握苹果审核准则,…...

iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬。那么问题来了,我们有没有什么办法准确把握苹果审核准则,从而提升审核的通过率呢?答案是肯定的,腾讯预审团队从以下两方面做了探索,经过近一年的推行和数据监控, iOS审核月通过率从过往的35%提升到85%+:

1.分析过往提审被拒的案例,并结合《苹果应用商店审核指南》的条款,整理成可执行的审查条目;

2.抽离出可以自动化的方法,提升审核的效率;

接下来我们将带你一起走进苹果审核,揭秘iOS审核的真相。本篇作为引子,分三个层面给大家简单介绍iOS审核相关内容:

一、iOS审核探秘之审核设备篇
二、iOS审核被拒纬度剖析
三、腾讯预审团队的iOS预审验收维度


一、iOS审核探秘之审核设备篇

苹果的产品从07年推出后,逐步推陈出新,外部市场上也已经有比较多的产品硬件版本和系统版本。如此多的系统版本,我们怎么去保证提审版本的质量,是一直困惑测试和产品团队的点。

往往苹果突然发布了新的系统,我们怎么应对这些风险呢?

【经典案例】

14年底,由于iOS新版本8.1.1系统的发布,做了一些系统底层Bug的修复,导致了游戏产品支付不成功、webview登录失败。

【关键举措】

1、与苹果关注同样的验收版本:

推测苹果审核团队设备验收选型也会遵循原则:验收最新发布的两个系统版本,两个硬件版本。保证游戏可以在市场占有率最高的两个系统版本及硬件配置上可以流畅运行。

因此腾讯预审团队会根据当前版本发布的节奏采购设备,升级系统,保证能覆盖到以上的系统版本和硬件版本。目前验收的机器列表及型号:

2、关注beta版本:

苹果在新版本上线前会发布beta版本做少量测试,此时需要跟进beta版本,可以提前发现问题,避免突然版本发布造成措手不及。


二、iOS审核被拒纬度剖析

为了探究更深层次的被拒情况,我们做了细化的分析,通过往年的提审数据统计,看看都是因为哪些原因被拒吧!


三、预审业务验收的维度

根据2014年的数据统计情况,并结合《苹果应用商店审核指南》,预审组通过细分将预审工作划为3大模块:客户端资源检查、应用内容检查和提审资源检查:

客户端资源检查

确保客户端内Plist等配置符合苹果要求,不存在多余的Key值enable;

应用内容检查

对应用的内容进行审查,确认无涉及色情、庸俗、暴力、枪支等内容;并对公告文字等筛查,无苹果禁止的字眼等;应用内不包含cdkey兑换,好友邀请及炫耀等苹果最新禁止的内容;

提审资源检查

确保提交的游戏截图、视频符合苹果要求,且截图及视频中没有敏感信息;同时视频截图等均符合苹果的技术要求,帧率分辨率达标.

本文先简介下苹果审核的相关内容,后续会依据业务验收的维度,给大家逐一介绍验收的要点、曾经遇到的坑和那些让人不淡定的被拒案例。

我们先从客户端检查开始介绍

客户端检查的主要目的是通过客户端配置检查来保证客户端符合苹果的开发者规范以及其他更新的要求,包括存储系统、配置文件、网络连接、icon检查、私有API检查,提审前的审核会覆盖这几个部分的各个测试点。

1、存储系统检查

苹果官方对用户数据存储有严格的规范,以往有很多被拒案例都是关于存储的。因此,我们需要掌握苹果官方数据存储指引的相关内容:

【经典案例】

【案例1】《项目A》x.x.0版本,因App启动后在用户的iCloud存储有22.17MB的数据(通常是不能超过1MB),不符合 iOS数据存储准则被拒。

解决办法:因增量更新累积文件过大,经过修复后通过审核。

【案例2】 《项目B》x.x.5版本,因没有遵循iOS的数据存储准则被拒,在应用的documents目录下存储了资源文件,苹果不允许非用户生成的文件放在这个目录下,因为此目录会被同步到iCloud。

解决办法:将需要存在的本地的资源文件修改到了library/cache下。

2、配置文件(Info.plist)检查

Info.plist是一种结构化的文本文件,通常所说的 “属性列表”,iOS的app都使用Info.plist文件来存储元信息,用来实现决定bundle所显示的icon,当前app支持打开的文档类型,服务声明等等。关于此部分的检查,我们通常关注如下方面的内容:

【经典案例】

《项目C》x.x1版本,曾因Info.plist设置问题被拒,即应用程序不需要的文件共享功能,但在Info.plist中的UIFileSharingEnabled键被设置为true了。

解决方法:Info.plist UIFileSharingEnabled键设置为false。

3、网络连接

大多数App的审核服务器是部署在中国,然而苹果的iOS审核团队却又是在美国,他们进行审核时,使用的是美国网络,这样跨洲际的网络连接,难免会出现时延大、抖动、丢包等网络问题

【经典案例】

《项目D》曾因美国IP不能登录被拒。

4、Icon检查

苹果官方对iPhone、iPad、iPod等应用程序的icon有明确的要求:要求ipa包中必须包含180×180,120×120,76×76,152×152尺寸的PNG格式的icon(详见下表),并且不同尺寸的icon内容要一致。

关于App icon的检查,腾讯预审团队采用自动化方法实现自动解压ipa包,并逐一核实icon图标是否存在并满足要求,对于不满足要求的ipa包,给出告警提示:

【经典案例】

《项目E》x.x.x版本预审,未提供相关icon图片资源,如果按此版本正式提审,等待苹果的审核结果,只会是被拒。

5、私有API检查

私有API(Private API)是指放在PrivateFrameworks框架中的API,因调用私有API而在审核中遭到拒绝的现象并不少见,近日,苹果便下架了包括《爸爸去哪儿2》、《找你妹》在内的256款APP,原因是调用私有API,很明显,苹果明确不允许App使用这类API。

未公开的API(Non-publicAPI)虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等。按苹果的说法,未公开的API是还不够成熟,可能还会变动的API,等完全成型了后会变成公开的API,但是目前不对其提供承诺,就是系统版本升级后可能会失效。对于non-public API,苹果iOS审核指南第2.5条款,同样明确,如APP使用时,将会被拒绝(2.5 Apps that use non-public APIs will be reject)。

关于私有API的检查,采用自动化工具扫描来实现,实现原理如下:

① 获取未公开库:基于iOS的SDK,dump出全库,全库减去私有库和公开库后,得到未公开库(non-public API);

② 获取头文件方法和成员的列表:使用Otool等工具,对ipa的可执行文件进行反编译解析,获取头文件中方法和成员的列表;

③ 与未公开库、私有库进行匹配:将列表中的方法和成员,分别与私有库和未公开库进行匹配,如未有匹配成功项,则扫描通过,如有匹配成功项,则扫描不通过(给出告警和API名称)。


四、总结

1、实际上存储系统的检查是一套规范,遵循同系列理念,比如用户本地存储空间与苹果iCloud服务器存储的合理使用,节约空间;

2、Info.plist文件检查实际上是xml文件的键值检查,并且值检查关系是并列的。通过存储文件、plist用例的检查,基本避免了因该类原因被拒的情况;

3、私有API检查则通过自动化工具扫描来实现。

 

移动应用产品推广服务:APP推广服务  青瓜传媒广告投放

本文作者@郑卓然  由(青瓜传媒)整理发布,转载请注明作者信息及出处!

阅读重点

这篇内容能帮你快速理解什么

帮助快速理解主题

通过更完整的主题说明和结构表达,帮助用户更快抓住重点,也让搜索系统更容易识别页面主题。

帮助判断下一步动作

让访问者快速理解当前问题、可行方法以及下一步应该继续看案例、看服务还是直接沟通。

帮助继续浏览与沟通

文章页不只是获取流量,也承担继续阅读、查看服务和发起咨询的承接作用。

继续了解

继续了解这个主题前,你可能还关心这些问题

为什么这类主题适合写成文章?

因为很多用户会通过问题词、对比词和方案词进入网站,文章页越清楚,越容易覆盖更具体的需求。

为什么文章页不能只有正文?

仅有正文不利于继续浏览和转化,文章页还需要总结、问答、相关推荐与咨询入口来承接用户。

看完之后下一步可以做什么?

可以继续看同类文章、服务页与案例页,也可以直接沟通官网升级与搜索优化需求。

这篇文章能帮助我解决什么具体问题?

这篇文章围绕当前主题提供了详细的解决方案、操作步骤和注意事项,帮助你快速理解核心要点并应用到实际场景中。

如何判断这篇文章的内容是否权威可靠?

内容基于实际项目经验和技术实践编写,结合行业标准和最佳实践,同时提供案例数据和方法论支撑,确保专业性和可操作性。

这类内容对SEO和网站排名有什么帮助?

优质的长文内容和FAQ结构能够提升页面主题相关性、增加用户停留时间、降低跳出率,这些都有助于搜索引擎评估页面质量并提升排名表现。

AI搜索引擎会如何理解和引用这类内容?

AI搜索系统会提取文章的实体信息、观点结论和结构化问答,当用户提出相关问题时,可能会引用本文作为答案来源或参考依据。

如果我有更多相关问题可以咨询谁?

可以通过页面底部的联系方式直接咨询我们的专业团队,包括电话、QQ或在线表单,我们会根据你的具体情况提供针对性的建议和方案。

这篇文章和同类内容有什么不同之处?

本文不仅提供理论知识,还包含实战经验、避坑指南和可执行的行动建议,同时兼顾传统SEO和新兴的GEO生成式搜索优化视角。

多久需要更新一次这类内容以保持时效性?

建议每季度审查并更新一次关键数据和案例,如果涉及技术工具或算法变化则需要更频繁地维护,确保内容持续为用户提供准确价值。