开发了3个月,从1.1版本到2.1.3,其中是走了一些没有必要的弯路,当然也有一些其它的因素,比如接手源码时没有一点注释,源码的版本不是最新的版本,话不多说,先看看我的工作日志:

  1. 为配合公司的推广宣传,2015年12月月初将App再次提交AppStore审核版本号2.0

  2. 2015年12月14日,等待了将近一个星期后,仍未见AppStore的状态有所变化,于是申请了加急通道

  3. 2015年12月16日,加急通道申请后第二天就审核通过了,但是出现了严重BUG,用户在原来1.1版本升级2.0时,因为在coreData中添加了新的字段,并且未做数据迁移,导致升级之后就会闪退,无法进入应用,必须要删除重新安装才行

  4. 2015年12月18日,审核通过的第二天,公司领导层得知消息后非常关注,迫于压力,在第二天继续申请加急版本号2.1.1,并同时联系了apple开发技术支持电话,幸运的是在第二天仍然审核通过

  5. 2015年12月21日,审核通过没有几天,App再次发现严重BUG,在注册时会闪退,于是开始了第三次加急审核版本号2.1.2,由于圣诞节假期将至,这次加急审核在12月29日后才生效

  6. 2015年12月29日后AppStore审核结果出来后,App被拒,原因在App有crash现象,于是在当天下午继续提交

  7. 2015年12月31日在等待了3天仍未响应后,开始第四次再次申请加急,在第二天进入了审核状态,第三天仍然被拒,AppStore的邮件中详细的说明了在iPad,iOS 9.2上面运行会出现闪退现象和布局乱了的情况,于是在当天下午进行了iPad真机的测试,测试中发现果然在标详情页面会出现闪退现象,这个情况是由布局产生的,因为页面是手写的,为了适配4S,所有做了两套布局,这个问题在4S上页面出现,于是将布局再次调整了之后,问题解决,iPad还有一个布局乱了的问题在在于一个意见反馈的页面,因为原来的布局并不是Auto layout,为了更好管理,将所有的页面改为了Auto layout来自动布局,于是意见反馈页面的文本框出现了问题,在iPad上无法线上文本框,修改约束后解决这个问题,至此,2.1.2版本成功上线,开发暂时算考一段落。

  8. 2016年1月8号,再次发现App2.1.2中存在非常脑残的错误,请允许我使用脑残这个词,因为将App的广告图片替换成一张本地的图片,并且还送上线了,于是又开始了刚刚停息的战斗,顺带,这一次将App所有的地方扫查了一遍,又顺带发现了一连续的BUG和显示问题,没办法,继续改,2016年1月12日,提交2.1.3版本

首先,必须要说,工作确实惨不忍睹,但还是积累了不少经验,至少认识到了测试的重要性,至少下次不会再犯同样的错误,好了,如果说除去放假,我大概在半个月左右的时间,更新了三次版本,这期间都做了什么呢?

  1. 发邮件,不停的发邮件,申请加急链接:https://developer.apple.com/contact/app-store/?topic=expedite
  2. 打电话,不停的打电话,要打苹果开发者中心技术支持的电话:400-670-1855
  3. 打电话过去后,你要说的夸张一下,例如:公司利益严重受到损害,crash问题严重影响到App的使用,客户已经给我们很大的压力等,完了后,苹果就会给你一个备案的编号如果有了这个编号后,一般就没有必要再继续打下去了,因为你打过去,你把这个编号报给苹果的客服,他们那边一查,你的情况他们都知道,所有,没有必须再去浪费精力,如果上面的邮件你充分得到了审核团队的认可,基本上24小时内就会有答复,我最快的一次是下午打的电话,提现到AppStore审核,第二天早上一起来,审核就通过了。
  4. 另一个非常非常重要的点就是邮件的内容,你必须要让说明事情的严重性,才能得到审核团队的认可,具体的就不用我再说了。

至于加急的机会一年只有几次的说法,我也不太清楚,但是可以肯定的是如果你经常使用的话,肯定不太好,因为我后来再打电话过去,苹果开发客服就质问过我。

再附上次邮件的内容,有兴趣可以参考一下:


Hello, I am xxx公司 company of the developers, the serious situation will flash back our online App in the user from version 1.1 upgrade, and the subsequent cannot open App, we currently have in the 2.1.1 version submitted in the repair, we hope to help the audit as soon as possible, because the current has seriously affected the normal operation of our company!!!
你好,我是xxx公司的开发人员,我们公司现在的线上App在用户从1.1版本进行升级时会出现严重的闪退情况,并后继无法打开App,目前我们已经在提交的2.1.1版本中进行了修复,希望尽快帮我们审核,因为目前已经严重影响到了我们公司的正常运营!!!


今天是2016年1月21日,昨天提交的2.1.3版本又被拒了,AppStore返回的信息说在iPad运行还是有崩溃现象,于是昨天上午又去借了个iPad过来测试,发现确实还存在崩溃问题,原因还是通知的用法导致的,没有在delloc方法中将响应通知删除,但是这个问题在手机真机上并未出现,只在iPad真机上出现了这个问题,于是将代码重构一下,在delloc中删除了通知,问题就解决了,由于吃过很多没有测试的亏,今天准备申请叫上几个同事一起来测测(PS:谁让我们没有专业的QA呢。。)下午准备再提交上去。


今天是2016年2月3日,上次提交的2.1.3(3)版本还是被拒了,理由是分享的时候,如果用户手机上未安装对应的分享程序,将会打开Safari浏览器进行登录分享,这是苹果不允许的,所有在分享前添加是否安装应用程序的判断,或者在进入分享页是判断是否安装对应的程序,如果没有安装就不显示对应的分享按钮,本来应该是在上周五就提交修改后的版本的,但是碰巧那天公司的网怎么都开不开itunesconnect,所有只是用Application loader进行了上传,并未去修改构建的版本信息,直到第二天上午的时候,我已经在嘉兴的时候,才进行修改构建版本,从新提交的,当时已经距离原本公司的活动计划只有5天了,时间上肯定来不及了,于是在昨天,再次拨打了Apple 开发者的客服电话,说明了缘由后,Apple客服告诉我,我这种情况可以去申请加急审核,只是原因要选择第二个,活动相关的,于是我写了篇稍微夸张一点,如果不审核通过会严重影响到公司利益之类措词,提交过去之后,在今天凌晨一点左右,进入了审核状态,4点钟审核通过。

至此,今年与Appstore的战争划上圆满的句号。

另外,再说说苹果的审核,经过这么多次的斗争,还是发现了加急审核与平时的审核,严格程度是不一样的

end