前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【客户端检查篇】告别被拒,提升iOS审核通过率(二)

【客户端检查篇】告别被拒,提升iOS审核通过率(二)

作者头像
WeTest质量开放平台团队
发布于 2023-05-04 04:40:08
发布于 2023-05-04 04:40:08
1.5K0
举报

作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。

通过细分将iOS预审工作划为3大块:客户端资源检查、应用内容检查和提审资源检查,接下来我们先从客户端检查开始介绍。

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

1

存储系统检查

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

验收思路

1、只有用户生成的文档等数据才能放在<Application_Home>/Documents路径下,这些数据文件将会自动的通过iCloud备份。2、可以重新下载或者重新创建的数据应当保存在<Application_Home>/Library/Caches 目录内。你可以把数据库缓存文件或者可下载的内容如杂志、报纸、地图应用的数据等放入缓存目录里(Caches directory)3、临时需要的数据应该保存在<Application_Home>/tmp 目录内。尽管这些文件不会备份到iCloud里,但是要在不再需要它们时立即删除掉这些文件,避免浪费存储空间4、共享的文件必须放在<Application_Home>/Documents路径下

审核依据

iOS Data Storage Guidelines

【经典案例】

【案例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支持打开的文档类型,服务声明等等。关于此部分的检查,我们通常关注如下方面的内容:

验收思路

1、 UIBackgroundModes键:这是一个声明后台服务的键,声明的后台功能必须实现。可设置的值有audio、location、voip、fetch、remote-notification、bluetooth-centra、等;2、 UIDeviceFamily键:这是一个支持设备类型的键,需在iPhone、iPod上运行时需设置1,iPad需要设置2;3、 UIRequiredDeviceCapabilities键:声明的属性必须实现。可设置的值有telephony、wifi、accelerometer、sms、still-camera等;4、 UIFileSharingEnabled键:声明文件共享,如存在且设置为true,则必须实现可通过iTunes文件共享功能。

审核依据

Information Property List Key Reference

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

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

3

网络连接(VPN)

大多数App的审核服务器是部署在中国,然而苹果的iOS审核团队却又是在美国,他们进行审核时,使用的是美国网络,这样跨洲际的网络连接,难免会出现时延大、抖动、丢包等网络问题,为了提前验证App后台服务器基于此场景下的反应,预审团队采用美国VPN方式来模拟苹果审核团队的访问网络环境(应用从美国VPN网络中访问后台服务器)。

【案例4】《项目D》曾因美国IP不能登录被拒。通过美国VPN连接,开发进行定位并修复后重新提审,并通过审核。

4

Icon检查

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

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

【案例5】《项目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的检查,采用自动化工具扫描来实现,实现原理如下:

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

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

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

总结

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯WeTest 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【客户端检查篇】告别被拒,提升iOS审核通过率(二)
作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。 通过细分将iOS预审工作划为3大块:客户端资源检查、应用内容检查和提审资源检查,接下来我们先从客户端检查开始介绍。 客户端检查的主要目的是通过客户端配置检查来保证客户端符合苹果的开发者规范以及其他更新的要求,包括存储系统、配置文件、网络连接(VPN)、icon检查、私有API检查,提审前的审核会覆盖这几个部分的各个测试点。 1存储系统检查 苹果官方对用户数据存储有严格的规范,以往有很多被拒案例都是关于存储的。因
腾讯大讲堂
2018/02/12
2.7K0
【客户端检查篇】告别被拒,提升iOS审核通过率(二)
告别被拒,如何提升iOS审核通过率(上篇)
作者互娱iOS预审团队,隶属于腾讯互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。
WeTest质量开放平台团队
2018/10/29
1.2K0
三步走起 提升 iOS 审核通过率 上篇
image.png 2016年的第一天,各位小伙伴儿们,新年快乐~~~在过去一年里,负责 iOS 应用开发的同学们,想必已被 APP Store 的审核机制折磨心累不止。新的一年,又一轮审核即将来袭,你们做好准备了么? 为了帮助各位 iOS 应用开发的同学免受折磨,腾讯 Bugly 特邀互娱 iOS 预审团队通过大量的数据分析,对苹果的审核机制进行了一番总结,连夜赶稿写出提升 iOS 审核的通关秘籍(因为内容较多,因此分为上下两篇),来与大家分享。 经过互娱 iOS 预审团队近一年的数据监控,分析过往提审被
腾讯Bugly
2018/03/23
1.6K0
三步走起 提升 iOS 审核通过率 上篇
iOS 预审总被拒 ? 腾讯教你提升 iOS 审核通过率 !
WeTest质量开放平台团队
2016/10/14
3K0
iOS 预审总被拒 ? 腾讯教你提升  iOS 审核通过率 !
iOS审核这些坑,腾讯游戏也踩过
作者Jamie,专项技术测试工程师,在iOS预审和ASO优化领域从事专项测试相关工作,为腾讯游戏近100个产品提供专项服务。
WeTest质量开放平台团队
2018/10/29
1.6K0
告别被拒,提升iOS审核通过率(一)
作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。 iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬。那么问题来了,我们有没有什么办法准确把握苹果审核准则,从而提升审核的通过率呢?答案是肯定的,腾讯预审团队从以下两方面做了探索,经过近一年的推行和数据监控, iOS审核月通过率从过往的35%提升到85%+: 1.分析过往提审被拒的案例,并结合《苹果应用商店审核指南》的条款,整理成可执行的审
腾讯大讲堂
2018/02/12
1.2K0
告别被拒,如何提升iOS审核通过率(下篇)——应用内容检查大法与提审资源检查大法
作者互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。
WeTest质量开放平台团队
2018/10/29
1.2K0
【2018年06月30日整理】马甲包最新过审技巧
最近苹果审核组委会开始了针对App Store应用商店上的CP,传奇,菠菜,棋牌等类型马甲包重复应用的严厉打击并下架一批应用,所谓重复应用,俗称“马甲包”早期也叫套壳,意思是相同的游戏产品,通过使用不同的开发者账户,更换游戏名字、icon以及美术宣传图等方式,让多个包同时在商店中上架,以便能获取更多的新增用户。
jiang chen
2018/06/30
4.1K2
【2018年06月30日整理】马甲包最新过审技巧
告别被拒,提升IOS审查通过率(四)
主要是提审资源相关检查项的分享,在过往提审数据统计中,因提审资源被拒的比例高达12%,此类问题主要集中在应用截图、预览视频、提审帐号、安装包和第三方许可证书。关于此类资源审核要点的介绍,包含如下几方面:
WeTest质量开放平台团队
2018/10/29
7170
三步走起 提升 iOS 审核通过率 下篇
接上篇->三步走起 提升 iOS 审核通过率 上篇 根据2015年的数据统计情况,并结合《苹果应用商店审核指南》,互娱 iOS 预审团队通过细分将预审工作划为3大模块:客户端资源检查、应用内容检查和提审资源检查。 在上一篇文章中,重点为大家介绍了客户端资源检查的内容,今天我们要为大家介绍的是关于应用内容检查和提审资源检查的部分。 第二步:应用内容篇 对应用的内容进行审查,是确认无涉及色情、庸俗、暴力、枪支等内容;并对公告文字等筛查,无苹果禁止的字眼等;应用内不包含 CDKey 兑换,好友邀请及炫耀等苹果最新
腾讯Bugly
2018/03/23
1.9K0
三步走起 提升 iOS 审核通过率 下篇
【iOS审核秘籍】应用内容检查大法
作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。 前面一篇分享了客户端检查的相关要点,本篇会给大家介绍有关应用内容的检查项。 苹果对庸俗、赌博、暴力、成人内容、支付等元素把控严格,如何在应用内容的检查过程中躲开苹果审核的刀锋,本篇为大家揭开这部分的审核要点。 本文按照审核的维度列出如下两个模块讲述: 1、文字内容检查 2、应用内容检查 文字内容检查 此部分的审核,腾讯预审小组重点覆盖应用中的公告、活动,游戏类的邮件、新手指引、剧情对白等界面,同时还覆盖应用中链
腾讯大讲堂
2018/02/12
2.7K0
【iOS审核秘籍】应用内容检查大法
提审资源检查大法
作者:互娱iOS预审团队,隶属于互娱研发部品质管理中心,致力于互娱产品的iOS审核前的验收工作。 本篇主要是提审资源相关检查项的分享,在过往提审数据统计中,因提审资源被拒的比例高达12%,此类问题主要集中在应用截图、预览视频、提审帐号、安装包和第三方许可证书。关于此类资源审核要点的介绍,包含如下几方面: 1、 应用截图检查 2、 预览视频检查 3、提审帐号检查 4、安装包检查 5、第三方许可证书检查 应用截图检查 对于图片的审核,我们重点覆盖图片的内容、文字和规格属性,确保图片满足苹果要求,详情如下: 检查
腾讯大讲堂
2018/02/12
9660
提审资源检查大法
提升iOS审核通过率之“IPv6兼容测试”
在WWDC2015大会上苹果宣布iOS9将支持纯IPv6的网络服务。2016年6月1号,所有提交到AppStore上的应用都必须支持IPv6,否则将通不过审核。为了确保我们的app正常提交到苹果进行审核,不耽误项目进度,我们必须在提交到AppStore前对待提交app做IPv6兼容测试。
WeTest质量开放平台团队
2018/10/29
1.6K0
教你如何处理被苹果App Store审核多次被拒和被警告的情况下通过审核
内部审核渠道人员教你如何处理被苹果App Store审核多次被拒和被警告的情况下通过审核
jiang chen
2019/02/15
8.8K0
教你如何处理被苹果App Store审核多次被拒和被警告的情况下通过审核
App Store上架审核过程中常见问题整理
苹果的开发者账号主要分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费)。一般开发者申请的都是个人或者公司的,企业的开发者账号开发应用不能发布到App Store,只能企业内部使用。这个申请过程一般可能需要一个星期左右。公司和企业的需要邓白氏码,如果邓白氏码未申请,请先申请邓白氏码,这个过程需要一到两个星期。
jiang chen
2018/12/04
3.1K0
Ios海外上架
1、被拒开发者账号:中国区,新账号新应用居多,包括公司开发者账号,有的被苹果推荐过的App更新也有遇到
iOS Magician
2023/03/22
8890
Ios海外上架
App Store审核被拒的原因和解决方案
1、被拒开发者账号:中国区,新账号新应用居多,包括公司开发者账号,有的被苹果推荐过的App更新也有遇到 2、机审判定被拒,in review到被拒大约7分钟(itc后台-活动中可查看) 3、类似于之前的2.1大礼包和账号被调查,存在误伤,根据被拒同行反馈被拒几率大约在50%,所以有申诉的机会 4、相关规则变化 1)大陆信用卡已不能给新注册或续费国外开发者账号,续费要验证信用卡地区和使用本地移动电话 2)5月开始,新注册中国区开发者账号下的App,开发者显示不再是英文,直接是中文 (有待验证,有的App开发者3月就已显示中文)
iOS Magician
2023/03/22
1.9K0
APP提交审核后被苹果拒掉的可能因素(转)
12、你的软件不符合中国法律,还打电话来跟我说。(奶奶的,中国哪个法律说不可以FQ。)
陈满iOS
2018/09/10
1.8K0
APP提交审核后被苹果拒掉的可能因素(转)
app 上架ios时隐藏开关会不会暴露? 提审时暴露了怎么办?
# ipv6被拒绝,2.1大礼包,后台定位被拒绝,免费的终极解决方案,苹果审核被拒绝了如何取解决,大家齐心协力让天下没有解决不了的问题!
jiang chen
2018/09/28
8.1K0
app 上架ios时隐藏开关会不会暴露? 提审时暴露了怎么办?
iOS上架被拒绝的解决方案汇总
由于我这次使用蓝牙功能比较隐蔽,就直接回复说明方法,并在审核资料的备注附加蓝牙功能使用的演示视频,具体如下:
公众号iOS逆向
2021/08/25
1.7K0
iOS上架被拒绝的解决方案汇总
推荐阅读
相关推荐
【客户端检查篇】告别被拒,提升iOS审核通过率(二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档