本团队的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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

AppStore审核2.1被拒大礼包过审经历的更多相关文章

  1. APP快速通过苹果AppStore审核九大诀窍

    [IT168技术]对于移动应用开发者来说, 最令人沮丧的可能莫过于辛辛苦苦开发的应用, 没能通过苹果AppStore的审核,或者在应用更新时遭遇下架.苹果的AppStore的审核流程和标准, 一向不透 ...

  2. 那些年提交AppStore审核踩过的坑

    此文刚刚上了CocoaChina的首页:那些年提交AppStore审核踩过的坑  欢迎围观,谢谢大家支持. //add by 云峰小罗,2016.08.04 做iOS开发近5年了,每次提交版本时不可谓 ...

  3. 苹果应用商店AppStore审核规则指南

    http://www.zesmob.com/blog/40161.html 新应用上架苹果AppStore或重大版本更新时,往往会被拒多次,造成审核不通过的原因,主要是因为对苹果应用商店AppStor ...

  4. AppStore审核

    应用被拒分为两种:Binary Rejected 和 Metadata Rejected.前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用. 1.应用内包含检查更新功能 iOS ...

  5. Nginx配置IPv6端口监听及务器设置IPV6及Https支持并通过AppStore审核

    一.监听端口 从Nginx 1.3的某个版本起,默认ipv6only是打开的,所以,我们只需要在监听中加入ipv6监听即可,不过推荐都手动加上比较好,代码如下: listen [::]: ipv6on ...

  6. AppStore审核--17.5

    本文转载至 http://blog.csdn.net/addychen/article/details/39672185 感谢原文作者分享 AppStore审核 为了确保用户理解应用如何使用他们的数据 ...

  7. 【详解】苹果AppStore审核被拒,原因终逃不过这些!

    近日,相信很多开发者都留意到了: 苹果针对应用标题的审核确有明显的变严趋势!我们在<惊!苹果再次加强审核力度,众App纷纷止步应用标题>中也对该现象进行了详细的分析,并给出了相应的解决方案 ...

  8. iOS提交AppStore审核时:提示有其他支付并隐藏功能被拒的处理办法

    背景提示:数字类产品(比如购买会员等不需要配送实物的商品),Apple规定必须使用苹果IAP应用内支付,给Apple分成30%.打包的时候不要勾选微信或支付宝等其他支付方式.如果你提交的包里包含了微信 ...

  9. iOS开发简记(9):APPStore审核

    "觅知音"这个APP的第一个版本从提交审核到上架,历时三个星期,其中遇到一些审核上的问题,它的处理或许能帮助到遇到同样问题的小伙伴们,所以这里列举出来,这三个星期如何跟苹果的审核团 ...

随机推荐

  1. Xamarin.Forms学习之Platform-specific API和文件操作

    这篇文章的分享原由是由于上篇关于Properties的保存不了,调用SavePropertiesAsync()方法也不行,所以我希望通过操作文件的方式保存我的需要的数据,然后我看了一下电子书中的第二十 ...

  2. mysql_用户_操作

    一. 创建用户 登录MySQL mysql -u root -p 添加新用户 create user 'username'@'host' identified by 'password'; usern ...

  3. 修改Linux的基本配置(修改主机名修改ip地址安装JDK/Tomcat/MySQL等等)

    (一)基本操作修改 修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=server1.itcast.cn 修改ip地址 vi /etc/s ...

  4. Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)

    android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() .根据首字母对应VERBOSE,DEBUG,INFO, WA ...

  5. redis设置密码后的重启问题

    Redis 设置密码登陆后使用 /etc/init.d/redis_6379 restart会出现:[root@8183539155d2 /]# /etc/init.d/redis_6379 rest ...

  6. 用django写个CMS系统

    上一篇介绍过django自带的flatpages,能够做简单的CMS.但是对于我们的真正的工作中的使用意义并不大.还是自己动手写一个吧. 不用说,一定是先从models开始的: from django ...

  7. Loadrunder之脚本篇——关联函数对话框详解

    Insert->New Step,打开Add Step对话框 选择函数web_reg_save_param,点击OK,打开关联函数设置窗口 说明: Parameter Name 此处设置存放参数 ...

  8. Laravel 学习笔记之 Composer 自动加载

    说明:本文主要以Laravel的容器类Container为例做简单说明Composer的自动加载机制. Composer的自动加载机制 1.初始化一个composer项目 在一个空目录下compose ...

  9. 【Flask】sqlalchemy 排序

    ### 排序:1. order_by:可以指定根据这个表中的某个字段进行排序,如果在前面加了一个-,代表的是降序排序.2. 在模型定义的时候指定默认排序:有些时候,不想每次在查询的时候都指定排序的方式 ...

  10. win10打不开菜单且点击通知栏无反应的解决方法

    1.在键盘上按下win+R键,或在开始菜单图标上点击右键选择"运行" 2.输入powershell,按下“确定”运行 3.在窗口里输入或复制粘贴以下命令,注意只有一行: Get-A ...