攻略前情摘要

关注我公众号的朋友,想必看过我上一篇发过的文章:2021年注册新iOS开发者账号和上包经历记录 。

以下记录即是对这一文章的续集。

在今年注册了新的开发者账号,并且审核一次通过后,万万没想到我要经历为期13天和2.3.1作斗争的经历。期间几度摸不着北,查阅了网上国内国外几十篇别的网友发的相关心得,并和各路网友交流,尝试了种种办法,最后总算艰难突破。所以觉得有必要水一篇文章记录一下经过。

首先介绍一下产品的基本情况。

  • 产品类型:工具、浏览器
  • 版本迭代:第二版
  • 功能更新:追加视频嗅探和下载功能,产品改名
  • 审核结果:2.3.1 和 4.3

首次改动

提交审核后立刻遇到2.3.1和4.3,对于4.3我是有丰富的心得经验的,这次产品名我原计划用某些热门词汇的”谐音词“来蹭一蹭前期热度,理论上这种做法属于可判可不判的灰色地带,但是既然判了,那也没什么好说的。所以立刻把产品名恢复为原来的产品名。

更关键的是2.3.1,如前所述,我在产品里追加了视频嗅探和下载功能,确实这是个非常敏感的功能,因为网络资源的下载涉及到一个版权敏感问题,此前我认为浏览器在这方面或许有一定的规避属性,大不了加个白名单,对于可能侵权的部分进行白名单处理即可,但是想不到苹果的审核反应竟是这么的明确。

这里贴一下本次2.3.1的内容摘要

Guideline 2.3.1 - Performance

We noticed that your app may contain hidden features, functionality, or content. Specifically, your app allows users to save or download music, video, or other media content without authorization from the relevant third-party sources.

没话说,这个功能宁可不要了,也要保住产品的正常迭代。

于是我立刻动手删除了视频嗅探的相关功能,再次提交审核。

反复被拒

接下去发生的事情,如果我一一记录,就显得过于冗余了。整个过程就是我删代码,然后苹果继续说我包含视频下载功能,我继续删,苹果维持原判。

最后,我不得不通过回复面板询问苹果究竟是什么情况,我已经彻底删除了和视频下载有关的代码,为什么还会说我包含视频下载功能?

我的措辞大致如下:

Dear reviewers, I have fully checked the code and removed the code related to video downloads as required, but the review was rejected. Can you provide some tips and what changes should I make?

而苹果的回复是清一色的:

Thank you for your reply. We continue to find that your app may contain hidden features, functionality, or content. Specifically, your app allows users to save or download music, video, or other media content without authorization from the relevant third-party sources.

往复回合持续了4到5次,直到我把有关联的代码清理的干干净净了,苹果依然直接给出了同样的答复。

发起申诉

事到如今我已经无计可施了,我想既然我已经自认有理了,没有必要卑微的不断自砍一刀。所以直接发起了申诉。

申诉文案大致如下:

As a browser, my app provides download functions provided by normal websites (such as online storage), and these downloads are considered permitted. For video sites, this browser does not provide any download function, nor does it allow users to download videos through any means, and only allows online viewing.

总的来说因为我的英文本就不太够用,这次表达总体来说是失败的。

才隔了一天,审核中心收到请求并确认处理后,立刻收到回复:

Guideline 2.3.1 - Performance

We noticed that your app may contain hidden features, functionality, or content.Specifically, your app includes content that is considered pornographic.

注意这句your app includes content that is considered pornographic,回复结果让人震惊,怎么反复拉锯的“视频下载”忽然变成了“色情”了。

继续被拒

围绕着新的审核结果,我又针对性的寻找和“色情”有关的蛛丝马迹。

由于浏览器默认会唤起百度首页,于是我怀疑是否是因为百度的新闻推送偶尔出现的软色情信息?于是直接把首页给替换了。

但是这样删改之后,审核结果却依然是:

Thank you for your reply. We continue to find that your app includes content that is considered pornographic.

这就很无语了,而且我也不服气了,因为实在不想用英语回复了,在咨询若干网友后,确认其实回复面板用中文回复也没什么问题后,我开始组织中文进行如下回复:

尊敬的审核人员,您好。

这一次我们再次收到审核被拒通知“Guideline 2.3.1 - Performance”,在这里澄清一下,我们未对本软件的任何内容进行隐藏,我们对应用第三方库实现也进行了复查(我们目前仅引入了一个第三方库),确认第三方库全部符合应用程序商店审查指南和苹果开发者计划条款。

且第三方库的隐私政策在这里:https://www.umeng.com/page/policy

关于您提出的“your app includes content that is considered pornographic.”,这一点我们非常不认同,我们开发的应用是一款浏览器。浏览器呈现的内容由网站决定,浏览器本身并不提供内容,更不可能擅自提供、隐藏色情内容!

尊敬的审核人员,如果您坚持认为我们的产品违规,可否请提供一下违规的具体提示,不管是截图、可能产生误会的敏感词等,这将对我们有莫大的帮助。

顺祝愉快。

次日凌晨,审核面板回复了,依然是被拒,但是文案却改变了:

Thank you for your reply. We continue to find that your app contains hidden features or functionality that can change the behavior of the app after review. To resolve this issue, it would be appropriate to ensure that all features and functions in the app are visible and fully accessible during review.

这次的文案只提隐藏特性,却没有提到“色情”和“视频下载”了。

忍无可忍的回滚版本

考虑到我第一版审核通过的如此顺畅,怎么到了第二版就这么艰难?既然如此,不如把代码回滚到第一版审核通过的版本。只保留两项改动

  1. App Icon换成新的 。
  2. App Store的关键字等更新 。

意想不到的是,提交审核后依然被拒:

Guideline 2.3.1 - Performance
We noticed that your app may contain hidden features, functionality, or content.
The App Store ecosystem is built on trust and users should never be misled about the apps they download. Attempting to hide features, functionality, or content in your app may lead to removal from the Apple Developer Program.

总而言之,又是2.3.1,但是不提具体原因,既没有说“色情”,也没有说“视频下载”。

持续回复的结果

到这里我开始寻思,第一版本审核通过了,说明产品本身的问题应该是不大的,第二版本提供了“视频下载”功能导致了2.3.1,原本无可厚非,但是后续不断修改后还一直驳回,即便回撤版本也不奏效了,那就说明开始时遭遇了规则明确的2.3.1后,后续的审核拒绝是某种审核惯性使然,已经不是改回第一版就能解决了。

出于这个考虑,我于是下定决心不再改动代码了,直接在回复面板和审核人员据理力争,中间经过两次继续糟拒后,我在回复面板中写下如下的话:

尊敬的审核人员,我不知道因为什么原因导致你会认为我开发的产品实现了某种“隐藏”特性,在此我必须声明,我开发的产品并没有任何主观设计的“隐藏”功能,我本人也强烈反对“隐藏功能”这一破坏市场秩序的行为。

但是确实不排除某些第三方库可能存在这类行为,因此我在引入第三方库时非常谨慎,目前引入的仅仅是Umenghpple。(我会在附件提供这两个库的截图)。如果需要,我会果断移除这两个库的代码。但是目前经过我的考察,它们不大可能导致我的产品出现隐藏开关的情况。

我在上网查阅资料时,得知某些产品因为代码中含有WebView以及evaluateJavascript而触犯2.3.1规则,在此本人需要解释一下,本人开发的产品是一款浏览器,而浏览器通过WebView实现基础功能,通过evaluateJavascript实现脚本运行是合理且必要的。如果是因为这个原因导致2.3.1违规,我认为需要根据具体产品案例进行分析。

如果是因为别的原因导致我的产品触犯了2.3.1,可否请你提供具体的细节,比如某些函数命名出现敏感词之类的,帮助我完成审核,这将对我帮助很大。

另外,提供一下我的手机号码 +86-xxxxxxxxx,如果你能电话联系达到更好的沟通效果,我会非常感激。

发出这篇冗长的回复后,静候消息,结果次日凌晨(2021-07-05),我居然收到了邮件。

The status of your app, xxxx, is now “Ready for Sale”.

以上就是本人这13天经历的审核历程,13天说长不长,苹果审核效率也是极高,除了发起申诉的那一次是两天时间,几乎每一次都是在当天夜里1到2天就出结果。但是整个过程却非常煎熬,所幸结局是美好的,总算通过了审核。相信经过这次后,接下去的审核会比较顺利……吧?

光是记录这一过程就说了那么多,在此期间我查阅了大量网上的经验,自己也做了不少总结。之后会单独开一篇进行记录。


其它分享:

群友jinlan的2.3.1审核成功经历

4.2、4.3、Other和封号相关的技术性应对方案

如何有效的向苹果哭诉

谈面对苹果的14天封号,开发者能做什么


移动开发者的小伙伴们可以加我的公众号风海铜锣的加群菜单栏中申请加群完成加群申请,一起共同进步。

2021年遭遇苹果审核2.3.1的开发过审经历相关推荐

  1. 【2021】9月遭遇苹果审核心路历程

    首先介绍一下产品的基本情况. 产品类型:工具 版本迭代:三个版本更新 审核结果:2.3.1.1.1.6.5.0.2.3 8月31日我提交了1.0版本,我们收到了苹果审核回复如下 Guideline 2 ...

  2. 苹果审核2.1解决方案

    苹果最近大量遭遇guideline 2.1 Information Needed 问题 2.1解决分为两种情况, 简单来说分为事后解决与事前解决. 1 事后解决 这种表示你提交包之后, 被苹果以2.1 ...

  3. 聊聊苹果审核——App Store Review Guidelines

    话说最近传了5.6.7.8个app到Apple,不是被拒绝就是正在审核.真的是心力交瘁,已然开始怀疑人生了.今天重新好好读了遍App Store Review Guidelines,感觉有必要再巩固一 ...

  4. 由苹果审核悲剧引发的“血案”

    记录一下今天遇到的问题,就是被苹果审核团队给拒了,贼难受! 这是苹果那边附在解决方案中心的打给截图,都是地址看得我一脸懵逼! 大概截了个图纪念一下: 三部分从上到下主要是: 1.设备信息 这个不多做解 ...

  5. 苹果审核之遇到IPV6问题被拒的解决方法

    苹果审核之遇到IPV6问题被拒的解决方法 参考文章: (1)苹果审核之遇到IPV6问题被拒的解决方法 (2)https://www.cnblogs.com/lyz0925/p/9508601.html ...

  6. 截止9月10日苹果审核指南中文版

    苹果在9月3日对App Store审核指南进行了重大更新,新加入了扩展.HealthKit.HomeKit以及TestFlight相关内容.另外,在9月10日新品公布会之后,苹果再次更新了App St ...

  7. iOS - 苹果审核被拒3.2(f)

    最近公司App提交审核被拒了,理由是3.2(f),上网查了一下最近好像很多开发者都收到这个被拒的理由了,而且个别开发者账号被直接封号,一年后才能重新使用. 一年后?意味着这个账号出局了,如果收到这个邮 ...

  8. 最新苹果审核被拒4.3解决方案总结(2020年7月)

    最新苹果审核被拒4.3解决方案总结(2020年7月) 前几天过审了一个游戏的马甲包,准备工作做的还比较充分,本来还打算斗智斗勇几个回合的,结果一次性就过了,有一点点小惊喜.所以总结起来,过马甲包并不像 ...

  9. 苹果审核Metadata Rejected解决

    近期提交一个app到苹果商店审核被拒绝了,状态是Metadate Rejected,以下是苹果发回的邮件内容 根据回的邮件,分析得出以下结论: 1.该问题是由于苹果审核人员对应用的业务不清晰,不知该a ...

最新文章

  1. TinkerNode NB-IoT物联网开发板(NB-IoT专栏—拓展篇3)
  2. linux里进程监控和自动重启,Linux - linux进程监控和自动重启的简单实现
  3. 【BZOJ2286】消耗战(虚树,动态规划)
  4. 让DNN为您的手机提供内容
  5. php 工厂静态类,静态工厂模式(Static Factory)
  6. [机器学习笔记]Note7--神经网络:学习
  7. Leaflet文档阅读笔记-Leaflet on Mobile笔记
  8. python递归中的return_「问题思考」python的递归中return返回none
  9. Windows Server 2008 将与 Visual Studio 2008 和 SQL Server 2008 于2008年2月27 日在洛杉矶共同发布...
  10. Intel 64 Memory ordering principles
  11. linux通过80端口系统入侵,【转】21和80端口的入侵
  12. 用Python做一个翻译软件
  13. 《京东话费充值系统架构演进实践》--阅读
  14. 《面试知识,工作可待:集合篇》-java集合面试知识大全
  15. ElasticSearch之Head插件集群健康问题
  16. SAGA GIS使用教程
  17. 好记性不如烂笔头之 App widgets(一)
  18. [USACO09MAR]向右看齐Look Up(单调栈、在线处理)
  19. 温故而知新 知识点整理
  20. 西门子PLM公开与达索系统争夺汽车市场

热门文章

  1. 美团餐饮SaaS基于StarRocks构建商家数据中台的探索
  2. 【Selenium】控制当前已经打开的 chrome浏览器窗口
  3. Matlab中关于复杂函数二重积分的问题
  4. MacOS-Mac开发和iOS开发的区别
  5. 悟透JavaScript之对象素描
  6. 谷歌浏览器启动chrome 常用参数
  7. 卖场型旗舰店好入驻吗?需要什么资料?
  8. 将图像转换为1位位图 (1像素对应1bit)
  9. 高并发解决方案——Redis(一)
  10. gitlab-ce更新后reconfigure报错