12 October 2015

每个第三方iOS应用及其每一次版本更新都要经过Apple公司的审核才能在App Store发布。应用审核一般都要花费两周甚至更长的时间。 这一次,为了紧急更新北大未名iOS客户端,我申请并成功经历了一次加急的审核过程。

之所以需要紧急更新,是因为iOS 9引入了一个新特性叫做App Transport Security(ATS), 这导致我们的App无法从服务器获取数据了。简单来说,引入这个特性后,默认情况下iOS App与服务器的通信必须是TLS安全连接(走HTTPS协议),否则将失败。 北大未名服务器不支持HTTPS连接,因此我们的客户端在引入ATS的iOS 9系统上就不能用了。解决方法也很简单,只需改一下配置, 把北大未名的服务器加入到一个类似白名单的列表中即可。但这需要一次App更新!

我们从10月初就开始收到用户的反馈,并在10月9日就解决了问题并准备好了更新。接下来就需要提交给审核团队了。考虑到这个问题影响太大,而通常的iOS应用审核太慢,我们决定申请加急审核。

在下面的申请页面输入相关信息:

https://developer.apple.com/contact/app-store/?topic=expedite

然后等待结果。

我在北京时间10月9日晚上10点左右提交了加急审核的申请。Apple审核团队在北京时间10月10日凌晨2点就做出了回应! 可惜这次没成功,因为我只是把新版本上传到iTunes Connect,但忘了提交给审核团队了。估计我们被审核团队鄙视了一番。审核人员暗地里一定在说: 这家伙急慌忙把我叫过来,却没给我新版本,搞毛线啊这是!但他们忍住怒火发了一封很客气的邮件:

(审核团队对第一次加急申请的回复邮件)

我感觉很不好意思,大家都不容易。10月10日晚(目前我的iOS开发只能业余时间搞),我先确保把新版本提交审核,然后又申请了一次加急。同样仅仅几个小时后,审核团队就作出了回应:

(审核团队对第二次加急申请的回复邮件)

紧接着App就进入了审核阶段。第二天我起床时发现新版本已经通过审核上线了。

这次从准备好更新到通过审核并上线,一共花了2天时间,其中一天还是被我的失误浪费掉的。加急审核的速度确实快! 但就像他们在邮件里说的那样,并不能保证每次都能加急成功;而且受理一次申请之后,将来就可能不再受理了。这毕竟是特权性质的机会,开发者勿要滥用。 就我们这次紧急修复而言,如果是严肃的应用开发,本应该在iOS 9的升级推送给用户之前就做好适配工作,而不是临时抱佛脚。

不管怎样,这算是值得记录的一次经历。