当前位置: 首页 > 编程日记 > 正文

AppStore审核2.1被拒大礼包过审经历

本团队的iOS端迭代至今,经历过AppStore审核的数次调整,包括审核时长、严厉程度等,尝过各种花式的拒绝理由,但从没有像2018年初这次来得猛烈和漫长。从首次提交到最后过审几乎花费一个月的时间,下面的文字记录了整个过程。

2018年1月19日

x.x.3版本迭代开发完成,当晚提交审核。


2018年1月20日

状态变更为In Review,按照以往的经历,一两个小时内肯定会出结果,不过这次比较异常,In Review状态持续了五天。


2018年1月25日

因为之前没有类似的经历,以为是AppStore审核的异常,主动撤销审核,重提审核,但是迅速进入In Review状态(北京时间下午2点51分),并持续了四天。


2018年1月29日

大量被卡审(长时间处于In Review的状态)的应用似乎在一夜间同时收到了苹果的审核结果,并且都是同一个理由,俗称狗年大礼包、新春大礼包。很不幸,我们的App就是其中一员,Resolution Center 显示【二进制拒绝】,拒绝理由如下:

2. 1 Performance: App Completeness

Guideline 2.1 - Information Needed

This type of app has been identified as one that may violate one or more of the following App Store Review Guidelines. Specifically, these types of apps often:

1.1.6 - Include false information, features, or misleading metadata.

2.3.0 - Undergo significant concept changes after approval

2.3.1 - Have hidden or undocumented features, including hidden "switches" that redirect to a gambling or lottery website

3.1.1 - Use payment mechanisms other than in-app purchase to unlock features or functionality in the app

4.3.0 - Are a duplicate of another app or are conspicuously similar to another app

5.2.1 - Were not submitted by the legal entity that owns and is responsible for offering any services provided by the app

5.3.4 - Do not have the necessary licensing and permissions for all the locations where the app is used

Before we can continue with our review, please confirm that this app does not violate any of the above guidelines. You may reply to this message in Resolution Center or the App Review Information section in iTunes Connect to verify this app’s compliance.

Given the tendency for apps of this type to violate the aforementioned guidelines, this review will take additional time. If at any time we discover that this app is in violation of these guidelines, the app will be rejected and removed from the App Store, and it may result in the termination of your Apple Developer Program account.

大概的意思如下:

准则 2.1 – 所需信息

这类 App 已被识别为可能违反以下 App Store 审核指南中的一/多条的规则。具体来说,这些类型的 App 往往违反以下几条规则:

1.1.6 – 含有提供虚假信息的功能(比如:虚拟定位工具、匿名短信工具等)

2.3.0 – 含有不经审核也可更改 App 功能的热更功能

2.3.1 – 含有隐藏功能,包括定向到赌博或彩票网站的开关

3.1.1 – 含有第三方支付以绕开使用 Apple的内购

4.3.0 – 重复 App 或马甲包

5.2.1 – 未提供 App 上架所需的行业资质(比如:金融营业许可证、游戏版号等)

5.3.4 – 含有货币游戏(如:体育下注、赌场游戏等),但未提供相关许可资质

在我们继续审核之前,请确认此 App 不违反以上任何一项规则。您可以在 Resolution Center 回复此消息或在 iTunes Connect 中查看 App 信息部分,以验证此 App 的符合程度。

鉴于这种类型的 App 倾向于违反上述规则,审核将需要更多的时间。如果我们在之后任何时候发现此 App 违反了这些规则,App 将审核被拒并从 App Store 中删除,甚至可能导致苹果开发者账号被终止。

收到以上的拒绝理由后,一时慌了手脚,因为邮件内容相当严重,提到了下架和封号。

一番搜索后(推荐论坛:CocoaChina-App Store经验交流),喜忧参半。喜的是这次2.1拒绝过审是大规模且机器化的,忧的是暂时并没有解决方案,不过可以推断出的结论是:

1、AppStore卡审了一大批应用,都是被机审拦住;

2、AppStore审核算法升级,机审会对代码库、元数据进行全方位自动审核;

当天相应的分析文章

AppStore审核方法再次升级:批量拒审,多个理由,同时疑似升级机审算法

大量被拒 App 一次收到 7 条审核条款,苹果:原因自己排查


2018年1月30日

在上面提到的论坛里看到相似遭遇的QQ群和微信群,进入后发现,群里大量收到2.1拒绝理由的iOS开发都是从事棋牌、彩票、赌博、马甲包开发工作的。

那什么是马甲包呢?棋牌运营:苹果马甲包| iOS 马甲包

由此推测,本次审核方法的升级应该是针对马甲包、赌博类app的强力措施,一旦跟马甲包、棋牌、彩票等扯上关系(比如关键词含有赌博、竞彩等),都将会上标记,进入机审流程,最后以2.1理由批量拒绝。

猜测自己是被误伤,并且我们的关键词里确实含有“竞彩”的字样(ASO优化排名)。于是,去掉可能有问题的关键词后,仅改动Build号(从1.0改成1.2)后重新打包提交审核。

不幸的是,1个小时候后状态迅速变更为In Review(明显是自动化的),并一直持续。


2018年2月3日

持续四天后,再次收到2.1拒绝大礼包。

参考论坛里别人的经历,尝试在Resolution Center 里回复拒绝邮件,说明自己的App不存在2.1大礼包里提到的问题,等待审核工作人员的回复。

这里说一下关于审核被拒后,如何回复。

当收到审核拒信后,在拒信的尾部会有一个对话框,如果你对审核的结果存疑,可以在对话框里直接说明。

新手一般有两条常见的问题:

1.中文还是英文? 中英文都可以。

2.回复后还需要重新提交吗? 不要点重新提交,如果重新提交,就进入新的审核队列,之前的回复作废。

正常情况下,1~3天后,审核状态会由Rejected自动变更为In Review,审核团队会根据你的说明重新给结果。


2018年2月8日

距离2月3日的回复过去五天,审核团队迟迟没有反应,而此时新的版本开发完成,无奈之下提交新版本x.x.4,重新等待审核,当夜状态变更为In Review。


2018年2月11日

In Review状态又持续了整整三天没有结果。

一直在论坛、QQ群和微信群里收集信息,发现不少被误伤的正常App都是同时有内购(苹果内部充值)和第三方支付SDK,我们由于业务需要,也是内购和alipay+wechatpay共存。

根据以上的信息,猜测是“内购和第三方支付SDK共存”导致在机审阶段被判定违反了第3.1.1条规定

3.1.1 - Use payment mechanisms other than in-app purchase to unlock features or functionality in the app

于是,关闭内购,重新打包提交,短时间内状态又变更为In Review。

第二天,尝试申请了加急审核,可惜加急并未通过,只能等待。


2018年2月14日

In Review状态又持续了整整三天,再次收到2.1拒绝大礼包,不过这次显示的是元数据拒绝,而非之前的二进制文件被拒绝。

元数据拒绝和二进制文件被拒绝的区别:元素数据被拒绝不需要你修改二进制数据(就是不需要修改项目),只需要修改APP的描述信息就OK。

此时,QQ群和微信群里陆续传来过审的消息,其中大部分方式通过回复/申诉,即状态自动变更为In Review后审核通过。

根据以上信息猜测,AppStore审核算法就是根据代码包和描述信息,在人工审核之前,智能地拦截违规的App。但是,机审必定是存在误伤的,那被误伤怎么办呢?除了不停地修改项目重新提交审核外,就是自己向审核团队主动申明:我没违规。

于是再次在回复框里,申明自己并未违法2.1大礼包里的任何一条规定,静静等待。


2018年2月18日

14号至今18号,Metadata Rejected的状态没有变动,也没有收到任何回复,而后两次发邮件(英文)询问为何迟迟不处理,审核团队的回复总是积极又敷衍。

第一封回复(截取):We have added this information to your app record. There is no further action that you need to take at this time. The review team will follow up with you as soon as possible.

第二封回复(截取):We have escalated your request for a response to your Resolution Center post. A member of the review team will follow up with you directly as soon as possible.

觉得这么下去不是办法,决定尝试申诉(英文)。

苹果审核有两个部门,一个是Resolution Center另外一个是App Review Board。App Review Board就是审核委员会,他们的级别高于Resolution Center。当你对Resolution Center给出的原因和解决方案不满意的话,可以向更高一级的App Review Board提出上诉。参考:被拒后如何申诉

不过,我此时犯了一个错误,在申诉理由里询问为什么我在Resolution Center里的回复迟迟没有被处理。因此,App Review Board驳回了我的申诉,因为他们觉得我要的不是申诉,而是寻求之前回复的结果,让我静静等待,邮件如下:

The App Review Board was created for developers to appeal an app review they had concerns with. In your case, however, you are requesting a response to your post in the Resolution Center. We also see that you contacted us previously about this issue.

We can confirm that we have escalated your request for a response to your Resolution Center post. A member of the review team will follow up with you as soon as they are able.


2月21日

吸取了上次的教训后,重新发起申诉,并在申诉理由里只说明为何需要申诉。

两天后,2月24号,审核状态终于由Metadata Rejected转变为In Review,并在两个小时候后Ready for sale。


总结关键点:

1.向Resolution Center回复拒信后(中英文都可以),不需要重新提交,等待即可。

2.向App Review Board申诉(最好英文),填写理由时,目的要明确,不要夹杂其他的咨询/疑问,否则会被驳回。

3.若是正常App被2.1大礼包误伤,我个人觉得最好的方法就是,在确实没违规的情况下通过回复/申诉,而不是通过大刀阔斧修改项目绕过机审。当然,你也可以尝试在不做任何修改的情况下重新提交,因为群里看到过此类过审的例子,有时候苹果审核就是如此让人捉摸不透。



作者:高大大啊
链接:https://www.jianshu.com/p/18cdb94f6f63
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章:

oracle 小数点前零丢失的问题

1.问题起源 oracle 数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0 例如0.35就变成了.352.解决办法:用to_char函数格式化数字显示 select to_char(0.338,fm9999999990.00) from dual; 结果:0.34 这里重点…

SQLServer查看存储过程的方法

使用 sp_helptext 查看存储过程的定义 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例。在工具栏上,单击“新建查询”。在查询窗口中,输入下列语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。USE yca…

数据文件u11

数组-136. 只出现一次的数字题目描述题目样例Java方法:位运算算法思路代码复杂度题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1: 输入: […

centos7安装配置pgAgent

centos7安装pgagent:默认cmake已经安装编译wxGTKhttps://excellmedia.dl.sourceforge.net/project/wxwindows/2.8.7/wxGTK-2.8.7.tar.gz# yum install gcc gcc-c# tar -zxf wxGTK-2.8.7.tar.gz# cd wxGTK-2.8.7[wxGTK-2.8.7]# vi /etc/profileexport PGHOME/usr/loc…

Oracle-ORA-01722 invalid number错误

本来正常的,经过抓包才知道原来是数字型的无意中多了乱码! 本来是3276的居然多了后面一串 3276PuAnrSeU2zliUIV/FHlnX2Xgia1au2xX2vMWtwhttp://www.cnblogs.com/raymond19840709/archive/2008/05/16/1200826.html 1. 代码里面执行了如下SQL语句&#xff…

只读方式VS地址

数组-136. 只出现一次的数字题目描述题目样例Java方法:位运算算法思路代码复杂度题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1: 输入: […

Nmap (网络映射器)好东西啊

2019独角兽企业重金招聘Python工程师标准>>> Nmap (网络映射器)是由 Gordon Lyon设计,用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返…

【教你赚钱】独立开发者荒野求生之道

本文包括以下内容: 独立开发者面临的现状如何利用一切细节,获取流量注:本文将不涉及代码层面的东西,但是将有可能帮助你,把你写完的代码的价值,放大十倍百倍千倍。 我做了四年独立开发,从一开始…

form表单的reset

form表单的reset重置表单(把表单的所有输入元素重置为它们的默认值。):1.使用reset按钮&#xff0c;条件reset按钮必须在form表单内部。2. <input id"Button1" type"button" value"button" οnclick"form1.reset();" />可以不在…

导航属性(外键)

第一种方法:(不灵活)1.一个学生类型只能保存一个年级对象//一个年级对象能保存多个学生对象//实际开发时单向比较多5.在年级对象类中根据年级编号来查询年级对象//写在if前面代表察回来值即使是空也没问题 因为null6.创建学生编号的时候new 一个 年级对象并且调用年级对象的id将…

23.week4

调通了 剩下的就是核心的部分 转载于:https://www.cnblogs.com/PoeticalJustice/p/9494823.html

“重置”不是“清空”

编程这么多年&#xff0c;一直以为“重置”按钮就是“清空”。 其实&#xff0c;重置是让页面回到初始状态&#xff0c;关键就是如果某个文本框中有值&#xff0c;那么点重置是不能清空的。可以自己做个测试&#xff0c;在一开始就有值的文本框后添加信息&#xff0c;点重置只会…

洒出VS的受调查

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

SQL 常用方法

SQL 常用方法 EXCEPT &#xff1a;返回两个结果集的差&#xff08;即从左查询中返回右查询没有找到的所有非重复值&#xff09;。 INTERSECT &#xff1a;返回 两个结果集的交集&#xff08;即两个查询都返回的所有非重复值&#xff09;。 UNION &#xff1a;返回两个结果集的并…

【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

1.1 环境 Visual Studio GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取&#xff08;Pull&#xff09;&#xff1a;将远程版本库合并到本地版本库&#xff0c;相当于&#xff08;FetchMeger&#xff09; 获取&#xff08;Fetch&#xff09;&#xff1a;从远…

php字符串比较函数

比较两个字符串是否相等&#xff0c;最常见的方法就是使用“”来判断&#xff0c;至于它和“”的区别&#xff0c;简单来说就是前者强调“identical”类型也要求一样&#xff1b;后者要求“equal”&#xff0c;值相同就可以了&#xff0c;参考【1】。或者使用strcmp来判断&…

Debugging Tools for Windows__from WDK7

1、 主要要用到两个工具&#xff1a; (1)、WinDBG 这个主要用于 非IDE下 调试程序/查看信息等 (2)、cdb.exe 这个主要是用在 Qt5.3.2 for VS10 的单步调试器 2、 WDK7 的文件&#xff0c;名为 GRMWDK_EN_7600_1.ISO&#xff0c;该文件我备份于“百度云 CodeSkill --> 全部文…

数据结构:二分查找 java

为什么80%的码农都做不了架构师&#xff1f;>>> 二分查找的前提是有序存储&#xff0c;利用顺序存储和元素排序 /*** 二分查找&#xff0c;查找成功&#xff0c;返回下标记* param values* param begin* param end* param key* param <T>* return*/ public s…

PHP一些十分严重的缺陷

1. 对递归的不良支持 递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是&#xff0c;PHP并不擅长递归。Zeev&#xff0c;一个PHP开发人员&#xff0c;说道&#xff1a;“PHP 4.0(Zend)对…

Thinkphp----------为什么Thinkphp会默认进入Index控制器的index方法

1、最近遇到两个刚学PHP的童鞋&#xff0c;都问到了同一个问题&#xff0c;就是他们没有做什么配置&#xff0c;为什么访问入口文件index.php的时候会自动跳转到IndexController里面的index方法。他们想知道具体怎么回事&#xff0c;下面就简单讲解一下&#xff0c;其实并不难只…

Confluence 6 Home 和其他重要的目录

2019独角兽企业重金招聘Python工程师标准>>> Confluence 安装目录 Confluence 安装的目录&#xff08;Confluence Installation directory&#xff09;定义的是 Confluence 是在那里进行安装的。这个目录有时候也被称为 Confluence 安装目录&#xff08;Confluence …

Apache,Nginx,Lighttpd分别使用X-sendfile功能提升文件下载性能

关于mod_xsendfile https://tn123.org/mod_xsendfile/Lighttpd中的X-sendfile RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能 使用X-sendfile方式&#xff0c;服务器端应用程序不需要读取下载文件了&#xff0c;只需要设置response的header信息就足够了&#xff0c…

[译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)

使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性。这种交叠有一个很好的例子就是 HttpApplication&#xff0c;它就是全局应用类的基类&#xff0c;在下表中&#xff0c;你可以看到 HttpApplication 类中…

变得非常不vb

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

分析PHP中单双引号的误区和双引号小隐患

2019独角兽企业重金招聘Python工程师标准>>> 1、一般情况下两者是通用的.但如果双引号内写的是变量就会执行解析操作,而单引号则不解析&#xff0c;这个怎么说&#xff1f;还是举个例子吧。 这下看明白了吧&#xff01; 2、执行效率不一样&#xff0c;单引号的执行速…

javascript(js)的小数点乘法除法问题

一、用js计算12.32 * 7 结果是多少&#xff1f;答案&#xff1a;86.24000000000001为什么会出现这种问题&#xff1f;怎么解决&#xff1f;js在处理小数的乘除法的时候有一个bug&#xff0c;解决的方法可以是&#xff1a;将小数变为整数来处理。以上的计算可以改为&#xff1a…

sDVD消防大队

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

WPF的二维绘图(二)——几何图形Geometry

在WPF的DrawingContext对象中&#xff0c;提供了基本的绘制椭圆和矩形的API&#xff1a;DrawEllipse和DrawRectangle。但是&#xff0c;这些是远远不够用的&#xff0c;我们在日常应用中&#xff0c;更多的是使用DrawGeometry函数&#xff0c;它可以绘制更多复杂的几何图形&…

定期删除各子文件下数据

最近遇到一个客户有这样一个需求&#xff0c;需要在每日自动删除各用户文件夹下的数据而不删除根文件夹和每个用户父文件夹 Register-ScheduledJob -Name Remove-InternetDataFiles -ScriptBlock {$root "E:\Internet-Data"$dirs Get-ChildItem $root -Directoryfo…

PHP使用BC Math 函数处理浮点运算问题

BC Math 函数 http://cn.php.net/manual/zh/ref.bc.php做小数的相加减问题是&#xff0c;出现了浮点运算不准的情况&#xff0c;看来都说解释型语言对于浮点运算都会有问题的说法是真的。首先看一段代码: <?php$a 0.1;$b 0.7;var_dump(($a $b) 0.8); 打印出来的值居然为…