最近接手一个朋友的项目,主要是帮他们上架应用到App Store上,前前后后斗争了一个月左右的时间,真心感慨,苹果的审核真是坑啊!(上架日期:20190317,听小道消息说前不久,整个审核团队进行了一次换血,很多审核规则都发生了变化)
项目介绍:一个任务发布系统,app端分为两部分角色:1、任务发起人;2、任务接单者。项目代码主要是围绕这两个角色进行了一系列的功能开发的,但是由于他们那边内部的原因,我接手的时候,他们只是将接受任务这部分的功能开放出去,其他部分的功能全部隐藏了起来。而且在我接手的时候,听说他们也前前后后上架了好几次,都被打回来了。还有他们提供的是个人开发者账号。登录他们的iTunes管理后台,看到了2.1大礼包的拒绝文本:
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 thisapp’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.
Should you choose to resubmit this app without confirming this app’s compliance, the next submission of this app will still require a longer review time. Additionally, this app will not be eligible for an expedited review until we have received your confirmation.
回复 使用下面的栏位向 App 审核团队提问或提供额外信息。了解更多 向 App 审查委员会提交上诉。
在得到源代码后,经过一番折腾(之前的开发人员用的是比较旧的Xcode开发,阿里云旺用了一个系统库在新的Xcode中删除了,所以iOS开发还是得用最近的Xcode开发比较好,Xcode10删除libstdc++库,解决方案参照:https://github.com/devdawei/libstdc-)终于在本地跑起来了,查了查好像也没有地方会引起被拒绝的,参照一些网友同人的解决方案,果断就发起了申诉。申诉的内容是这样的:
感谢您对我们提交的APP做出的建议和指导,下面是关于上次审核出现的问题的阐述。
尊敬的苹果审核团队:感谢您对我APP的耐心审核,对于上次审核被拒绝后提到的相关问题,我做了严格的自我审查,删除了不良的内容,做了积极的修改,并提交新的二进制包供您审核。具体阐述:
1.1
:我们审查了APP中可能出现的令人反感的内容并给予删除操作。
2.1:
1.1.6
:我们保证APP中所有功能及内容的真实性,绝不包含虚假信息以及误导用户的功能。
2.3.0
:我们没有并绝不会在您通过后修改APP中任何功能和概念,并将严格遵守APP审核指南。
2.3.1:我们是原生开发的APP,没有并且绝不会切换到任何赌博或者彩票之类的网站。
3.1.1:我们发现开发时导入的废弃支付代码功能,并做了移除,感谢您的指出。
4.3.0
:本次提交的功能都是我本人开发的,经过自我查审,未找到大量相似,并且不存在抄袭。
5.2.1
:我们开发的APP不存在法人实体和版权问题,一切内容皆是UGC内容。
5.3.4
:我们的产品并不需要任何权限许可,同时我们也没有违反当地的任何权限、单位或个人的许可。
经过了五六天的等待,还是被拒绝了,更可怕的是,在苹果的回复中,竟然说要封开发者账号,太可怕了,一时间也失去了阵脚。截取部分苹果回复的内容:
Upon further review of the activity associated with your Apple Developer Program membership, we have determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity. Therefore, your Apple Developer Program account has been flagged for removal.
If you would like to appeal this termination to theApp Review Board, you must do so within 14 calendar days. When submitting your appeal, be sure to select "I would like to appeal an app rejection or app removal" from the drop-down menu on the Contact the App Review Team page. Otherwise, your Apple Developer Program membership will be terminated and all apps associated with your account will be removed from the App Store.
由于这个账号是新账号,也没有发布过其他的账号,所以赶紧按照苹果说的方式又一次发起了申诉,像苹果说明我的行为还远远未达到封号的程度,并非常诚恳地请求他们收回封号的惩罚,表态我们一定为严格地按照苹果的审核团队去更改这个应用。。。又是三四天的等待,非常幸运地,苹果收回了他们的惩罚,又把这个账号重新标记成正常的账号了。
参考别人分享的经验,重新检查代码和plist文件,发现应用使用了推送功能,但是capabilities并没有开启推送的开发,修改了一下。听说苹果对代码扫描对第三方支付也挺严格的,刚好之前说过的隐藏的功能中,有支付的功能,但是这部分代码还是一起提交审核了,果断把支付相关的代码干掉。去除一些角色判断的代码和暂时没有用到的功能(例如第三方分享等等)的代码,以免机扫的时候被断定为隐藏功能的开关。重新打包审核。
这次用自己的电脑打包上架,竟然第二天就收到了审核结果,可惜还是被拒绝了。(之前如果被拒绝多次换台电脑打包能够缩短审核等待的时间果然是真的)但是值得高兴的是,这个苹果反馈的拒绝原文发生了变化,变成了4.3的条款,不再是2.1大礼包了,说明之前的修改还是起到了一定的作用,部分原文为:
Your app duplicates the content and functionality of apps currently available on the App Store.
Apps that simply duplicate content or functionality create clutter, diminish the overall experience for the end user, and reduce the ability of developers to market their apps.
意思大概说这个应用只是复制了别人的功能,并不符合上架到应用市场的条件。又是一番的查阅,主要参考了https://blog.csdn.net/man_liang/article/details/78642178和https://www.jianshu.com/p/90ebfd462319等文章。不够也没有完全按照他们的方法,我的做法是:1、修改了很多的类,把一些关键的类名和方法名进行了重命名;2、感觉应用程序的图标有点问题,刚好图标也很简单,就叫了一个认识的美工妹子重新整了一次。3、打包之前,使用spamCode重新整了一次代码(后面简单看了一下,好像也只是把注释代码去掉了而已,具体这个有没有起到作用也不是很清楚)。重新打包提交审核。
两天左右的等待,还是被拒绝了,但是仍然是收到了4.3的反馈。绝望了!这还要我怎么改呢?这次不敢太狂,选择了“App被拒说明”,请求苹果那边提供更多地说明,表态说我们现在已经不知道怎么要修改这个应用程序了,但是等待了三天左右的时间,苹果那边屁都没回一个,坐不住了,还是选择“申诉App拒绝或App移除”,重新编写了一段说明,不过这次换了一个方式,主要把这个应用的设计思路详细地描述了一下,又一次提起了申诉,原文如下:
亲爱的审核团队,你好!我们已经多提提交应用审核了,也多次被拒绝了。在以往被拒绝的过程中,我们已经多次对这个应用进行了修改,但是得到的结果仍然还是被拒绝。拒绝的理由是违反了4.3的条例,说我们的应用复制了其他其他应用的内容和功能。但是这个应用确实是我们自主研发的产物,我们并没有复制其他应用的内容和功能。我们这个应用的设计理念是这样的:我们会在XXXXXXX.com的这个管理后台定期发布一些任务,然后通过这个应用来呈现,用户可以通过我们的这个应用快速地查看到我们发布的任务,并通过应用申请功能提交一些信息,然后我们通过后台的审核来判断这个用户是否能够达到接受这个任务的资格,再进行任务的派发。这样用户就能够第一时间得知他是否已经具备实行这个任务的资格了。我们的任务只会通过这个应用才能够让用户感知到,我们也没有其他渠道去部署其他的应用程序了,所以并不存在马甲包的可能性,而且市场中也不会存在和我们应用有相同功能的其他应用了。我们对这样的拒绝理由表示非常的困惑,并且审核团队也给出更多更详细的被拒绝的说明,现在我们已经不知道要如何去修改这个应用程序了。希望审核团队能够重新审核我们的应用程序,更多地参考上面提到的这个应用的设计思想,让我们的这个应用能够尽早地上架到AppStore上,这样我们的用户才能够体验到我们的功能。
最诚挚的问候!
20190317晚上回来,不安地打开iTunes后台,我去,,,竟然通过审核了,激动了一晚上,至此,这次坑爹的审核终于告一段落了。不过通过这次的经历,自己累计了不少的经验,果然,对于苹果上架被拒,还是不能慌的,要硬钢!
唉!真是不容易啊~脑海里回想起了之前在论坛里别人说的那句话,如果你狠哪个人,就怂恿他去学iOS吧!