谈谈 Apple 的「审核玄学」

这是我在经历了又一次长时间审核未果的情况下,决定对 Apple 的审核问题进行一次全面讨论和批判。

我在这 12月 5 日提交审核了奇点的一个 Bug 修复版本,5 天后没有任何反应,正好在这期间又修了一些 Bug,于是我打回重新提交了一个版本。本以为打回重新提交就会很快了,哪知又 10 天过去了,依然没有任何反应(一直在等待审核中)。百般无奈下,长痛不如短痛,我在昨天尝试了「加急审核」,果然,8 小时后,Apple 给我回复了一个拒绝的邮件。让我短痛了一下。

很快 Apple 将迎来一个小长假,也就是在 12 月 23 日至 27 日(太平洋时间)期间是不受理 App 的更新与提交的。如果这几天审核再不过,很可能要明年了。但是我的问题不是这几天审核过不过的问题,而是:为什么有的 App 能在 1 天左右就审核通过,而有的 App 则十天半个月的都没有任何反应?如果把这个问题放大的话,还会有:为什么有的 App 做这个功能能过,有的 App 做这个功能不能过?…总而言之,就是 Apple 的「审核玄学」问题。

审核时间玄学

先来谈谈审核时间问题。

最近我在社交网络每天都发一条「今天审核过了没」的状态,与其同时,很多朋友告诉我,他们的 App 很快就通过审核了,还热心地给出建议:比如拒绝掉再提交一次。和上面描述的一样,我都尝试过了,没有用。

国外有一个网站叫「Average App Store Review Times」,上面记录了由开发者提交的近期的审核时间,目前为止 iOS 的审核时间是 2 天,macOS 是 1 天。

看似平均时间是挺快的,但是实际情况呢?我从 Twitter 的 #iosreviewtime 这个时间线来看大家的实时反馈,随便截了这么一张:

iOS Review Time

可以看到,分别有了等了 4 天、6 天还没有任何回应的,有人等了 10 天终于审核通过的,还有两个人在 1 天就审核通过的。所以这平均下来怎么也不是 1~2 天,至少我自己随便看了一圈都是这样。

所以我的那个时间问题怎么解释?为什么有的 App 能很快过审核,有的要很久?放在同一个 App 上,比如我的「奇点」,过去半年的几次审核确实也是在 1~2 天过了,为什么最近又不行了?基于无法从外部观察来解释这个现象,只能归结于玄学了。

想想一年就 12 个月,每个月就 30 天,像我就有 15 天卡在审核上了,太痛苦了,这还让人更新不更新 App?更新 App 还有意义吗?

审核内容玄学

除了上面提交的审核时间的玄学之外,还有一个是审核内容的玄学。简而言之就是 Apple 说,你这个功能(内容)违反了我们 Apple 的审核条例,不得通过!但是,其他 App 有一模一样的功能,也好好审核通过了啊。如果你这样回复 Apple 的话,它一定会给你一招:「其他案例无法参考,而且下不回例,后续的一定不能通过了。」然后…直到你再看到类似的 App 上架,你就只能认栽。

还有一种情况是,你的 App 之前的版本都是审核正常的,突然在最近这个版本里,Apple 开始刁难你,说 XX 功能不符合条件,需要整改。问题来了,之前的版本是怎么通过的?是临时工干的吗?也许这个版本你啥也不做,不提交了,等过段时间再提交(换了个审核人员),又过了…

因为 Apple 在审核上的反复无常,导致了一种「规避」的方式成为了业界主流,那就是:在审核期间关掉某项功能,审核通过以后再打开。Apple 对这种方式没有办法,毕竟它不是热更新,也不是 HTML5,而是合理的利用开关来控制一些功能的可见性。当然这招不是 100% 有效的,普通功能没问题,但涉及 内购(IAP)之类的,因为多了一道审核工序,则会遇到更多来自 Apple 的挑战。

因为我本人在开发者圈子特别是独立开发者圈子观察比较多,可以说非常多的人都遇到过各种各样的「审核内容玄学」。包括我自己,我曾经也因为一次「名字」的问题被拒绝,也就是「奇点微博客户端」改名为「奇点 for 微博」的那段时间。我的 App 在 App Store 里以「奇点微博客户端」存在了好多版本,突然有一天 Apple 和我讲这个名字不合法,不能用「微博客户端」这个词,于是就被迫改名为「奇点 for 微博」了。虽然我对此次改名没有什么异议,但是从这件事情可以看到,Apple 的审核是很没有章法的,没有一个审核人员是 100% 精确覆盖到他们所定义的章程上的,因而才有这么多反复无常的事情发生。

关于「审核内容玄学」中被拒绝最无奈的一种情况是:审核人员以找不到 XX 功能而打回 App。每当遇到这种情况时,开发者冲到 Apple 总部去杀人的心都有了,那么大的功能就放在菜单里,你给我说找不到?!

脱离 App Store?

谈了这么多,实际上我是很无奈的,我无奈到我昨晚正式下架了自己的 App,因为我这段时间我不想再受理因为新的修复版本没有审核通过而导致的用户来给我各种反馈一模一样的 Bug。

无奈归无奈,我开始正式思考一个问题,那就是脱离 App Store 发布的问题。

首先 macOS 上这个问题不存在,过去几年,已经有大量的 App,刚开始满心欢喜地进入 Mac App Store,后来也是因为各种审核问题,又跳出 Mac App Store。其中包括我们开发圈和设计圈熟知的 Sketch。这些 App 在跳出 Mac App Store 通常得到了更好的发展,迭代和更新速度更快,相应的也更加促进了这个(非 App Store 相关)的生态圈的发展。

那 iOS 呢?iOS 想要脱离 App Store 发布就比较难了,只有一个企业发布途径是比较直接的方式。但 Apple 会惩罚滥用这招的对象——当然具体什么是滥用我也不太了解。

作为一个技术人员,我想到的一点还是:走 Web App 的路。今年上半年,我通过 Vue 前端技术做过一个 Web App,基本上对现代的 Web App 的能力有了一定的了解。如果不是特别需要操作到 iOS 设备相关的功能的话,比如去读取联系人、相机之类的,Web App 在很多情况是能满足需求的。我们常见的需求不就是信息的获取、录入吗。

今年后半年,Web 技术还有一个里程碑,那就是 Safari 正式支持 WebAssembly 了,这意味着性能问题也能近一步得到解决。不考虑操作设备硬件的话,Web App(或 PWA)与 App 的差距将进一步减少。关于这个,又将是一篇长篇大论,本篇我就不多谈了。

小结

最后,放一则有趣的阅读财料:

Missive 是一款全平台的(macOS、iOS、Android)的集邮件和任务管理为一体的邮件客户端,它首先在 iOS 的 App Store 上架之初就被 Apple 选为「New apps we love」。但是万万没想到的是,它是一个基于 PhoneGap 做的 100% Web 技术的 App。该团队还专门写了一篇《Our dirty little secret: Cross-platform email client with nothing but HTML》讲他们开发的小故事。

这个故事说明了什么?我觉得,假如 Apple 的「选 App」标准还算公允的话,那么,他们一定程度上已经承认 Web 技术能做出和 App 一样优秀的体验了。当然这个标准也仅供参考,最近还是得让用户买单。

今天关于 Apple 的「审核玄学」就谈到这里了,我还是多花点时间去研究 Web 吧…

<推广> 奇点 是一个为 iOS 设计的第三方微博客户端,拥有高效、无广告、标准的时间等设计,让你再次爱上刷微博的感觉。

11 Comments

  1. 不是说 PhoneGap 会在 2018 将被 rejected! 么

  2. 企业应用就是给企业内部员工使用的 app 吧,不能对外分发了。所谓滥用就是被苹果知道你对外分发了,并且他们想管你。
    苹果的审核玄学多数都是体现在这部分,条款都写好,审核靠人脑。
    我碰到过一次被拒后什么都不改,重新提交一版过了的。

  3. 【我们只上架运气好的 App!】

  4. 说起来,现在大型 App 处境也非常尴尬,没有好的灰度发布机制。 TestFlight 的量远远不够,Patch 也被禁止。

  5. 少年 你输给了 搞平台的 公司, App Store 应该很多时候涉及到滥用垄断地位支配问题.

    要想审核过 你得有硬一点 的 小伙伴在 Aplle, 我就见过手机百度某个大佬跟 Apple 审核 那边大个招呼 几个小时就过的事情. 忍了吧 谁让他搞平台的呢。

  6. Apple 打错了 输入法比较蛋疼

  7. 还真是玄学,实际操作过程中会发现有很多吐槽点:
    有很多不适合提交审核的时间点,而且有些是没有人知道的时间点;
    每个负责审核的人口味也不同,同样的流程和UI,上一个审核人没有异议,不代表原样再次提交时换一个人就没问题;
    碰见过负责任的审核人,可以预约电话当面问答,也遇上过不负责任的,根本不理你的文字回复,所答非所问,只说他看不到、不清晰、不符合。。。

    另,脱离 App Store 发布 iOS app 这个貌似不太现实,但可以考虑 PWA 或各种平台的小程序,换一个平台提供商换一种思路吧。

  8. Apple的审核是依靠人,不同的人有不同的尺度,以及对条款有不同的理解。

  9. 楼主写的棒棒哒。。。哈哈WebApp 能干的就不要让native干了。。小小前端路过

Leave a Comment