两款应用终于过审了。记录下过程,以备参考。

先交代下两款应用的背景:

应用一:爱跑十三周,跑步应用,本地化为3种语言,没有开关隐藏、热更、第三方支付等常见违规问题;

应用二:魔板拼图,解谜游戏应用,本地化为3种语言,没有开关隐藏、热更、第三方支付等常见违规问题。

「爱跑十三周」审核来往记录

6月29日,首次提交审核; 6月30日,进入审核,元数据被拒;原因主要有两点:

  1. 需要确认并声明遵守Guideline 2.1,因为这个类型的应用被认为可能会违反苹果审核规定。
  2. 苹果截图中不能包含价格或者免费字样。因为我的一张截图提到了免费字眼。

6月30日,修改截图,并在待审核版本备注上声明遵守协议;重新提交审核。

7月3日,进入In Review状态。 7月17日,审核状态一直没变化。于是参考晚上的建议,将应用撤回,修改为1元付费应用,并重新提交审核。

7月20日,进入In Review状态。 7月21日,被拒绝,原因是:App在iPv6网络下点击某个菜单按键会闪退。我查看了他们附带的崩溃日志,没看到代码相关的报错。而且实际利用Mac创建iPv6网络测试,也没有问题。不过实际测试时,确实发现了因为没有及时移除KVO观察导致的崩溃,于是修复了这个Bug。但依然不确定,苹果审核人员的闪退是不是由这个Bug导致的。

7月23日,重新提交应用审核。 7月24日,进入In Review状态。 7月24日,元数据被拒,理由是:应用的中文名,包含了关键词或者描述语句。我的中文名是:爱跑 - 爱上跑步的13周。于是,我把中文名直接改成了爱跑十三周。并重新提交审核。

7月25日,再次进入In Review,并当天被拒,理由是:

  1. 爱跑十三周,依然被认为是关键词或者描述语句,需要修改;
  2. 应用请求用户的位置但没有说明使用目的。

我直接回复,爱跑十三周就是正式的app名字;同时截图给他看了我的本地化后的关于InfoPlist.string中与获取位置权限相关的描述。

7月26日,苹果回复说,中文名翻译以后是Love running for thirteen weeks,如果这是本意的话,则需要修改英文名字。当前的英文名是Into Run。 我回复说,在13周内爱上跑步就是本意。对于英文名来说,Into Run意思就是Love Running,英文名太长,不能完全照搬中文名的含义。同时举例微信和Wechat的例子来说明我的观点。最后,总结说这个名字是有效的。

7月26日下午,苹果回复说,中文名描述了在13周内跑步这个过程,但英文名却没有符合那个名字或过程。因此,要求修改名字,使之匹配。 我直接将英文名改为:Into Run: 13-week Run Program,然后回复说已经修改。

7月26日晚上将近12点左右,应用过审。

「魔板拼图」审核来往记录

7月21日,首次提交审核;提审后大约2个小时,返回错误:Invalid Binary。原因是我用了Xcode 10 Beta去编译生成的包。 于是,重新下载Xcode 9正式版,调整了app里的Swift4.2的方法,编译测试通过后,重新提交。

7月24日,重新提交并进入In Review状态; 7月24日,被拒,原因是:元数据包含误导或者故意欺骗用户的信息。我猜测大概是因为截图,因为我在中国区和其他语言使用了不同的截图,app内实际也是这样的设定。于是,回复说明了这个情况。 大约10分钟,他们就回复了,当时是上午9点21分。回复提到了另一个问题:说中文名可能存在利用另一个类似app的情况,要求改名字。 我当时立刻修改了名字。然后,我又重新提交了一次应用。

7月27日,凌晨2点左右,应用过审。

经验教训

  1. 进入审核超过3天状态没有变化,可以撤掉重新提审,从记录来看,进入审核1-2天内就有结果;
  2. 主动声明绝无违反Guidline 2.1提到的那几个条款;
  3. 主动用iPv6测试App;
  4. 本地化的各个名字在实际含义上要匹配;
  5. 对于权限的请求,主动声明或者提供相关描述的截图;
  6. 应用名称中不要加各种看似关键词的东西;
  7. 不要使用Xcode的beta版本去打提审包;
  8. 对于不同地区使用不同截图的情况,可以主动说明情况;