今天来到公司,运营的人说有个崩溃的Bug,赶紧排查一下!检查了挺长时间,发现在请求苹果的一个接口lookup时出了问题,返回的数据集合里面的一个数组为空了,咦?!怎么回事,百度了一番,发现这个接口如果应用被下架之后 results字段下的数据就是为空的。what?下架?赶紧appstore搜索一番,他x的,果然被下架了!
当时就很郁闷了,咋就被下架了呢,去邮箱里面查看了下邮件,被举报了。因为使用了别人家未经授权的字体,苹果给我们发邮件,因为春节期间没人注意到这事,一直没人管,结果人家让苹果下架我们的应用。想想也情有可原,毕竟我们侵权在先,而后处理不当,苹果爸爸处理的也没问题。我们赶紧联系了被侵权的公司说明了缘由,也支付了一笔授权费用,赶紧联系苹果爸爸吧:我们已经解决了这个问题,我们对我们之前的侵权行为,非常内疚,也与被侵权公司签署了授权协议,以后再也不会犯了。(用词之谦卑,态度之底下!爸爸应该会原谅我们吧)but,过了2 3天之后,根本不鸟我们,于是我们四处查资料,每天写邮件,也不管用,也并没有找到相关的处理方案。过了2周之后,因为相关的运营活动,实在是不能等了,做马甲包吧。
马甲包
现在做马甲包不像之前那么简单了,苹果现在审核时都会机审,查看代码相似度什么的,这就给我们造成很大难度,本来打算直接往工程文件里添加垃圾代码,不过这样效率太低了(几百个文件,加到什么时候),后来在github上找到了一个项目KLGenerateSpamCode,使用macapp修改工程源(具体使用看他的readme),这个app提供了
1、修改工程名
2、修改类名前缀
3、扫描工程中的代码,生成同等数量的 Category 文件,文件中及是同等方法数量的垃圾代码。
4、修改 xxx.xcassets 文件夹中的 png 资源文件名。
5、删除代码中的所有注释和空行。
但是我在使用的时候1、4都没有成功,不知道哪块出了问题(有网友使用成功的话,望告知一下)
还有在readme文档里提到的另一个项目ImageMagick,使用它可以改变图片的hash值。
做了这些修改之后(当然app图标,启动页,displayname,也要做修改),我们就愉快的提审了(同一账号下的不同app,有人说过app下架账号会被降权,我们在审核的时候并没有发现这个问题),一共被拒6次,并没有马甲包4.3之类的信息,前4次都是因为内购产品类型的问题,关于这个问题,真的是每个审核人员都对内购类型的理解不一样(无语),后两次因为ipv6网络的问题,刚开始我们使用网上的教程说mac搭建ipv6环境去测试,拍视频给审核人员看,可后来从苹果给我们发的邮件来看,这种方式并不可行,它只能证明你的电脑和你的手机使用ipv6网络通信,但是并不能证明你的电脑与服务器通信也是在ipv6网络下(苹果的要求只是你的域名可以解析到ipv6地址即可),后来服务器人员连夜购买了vps,第三天的时候审核通过了,这里还有一个小插曲我们是在3月20号被下架的,我们在4月19号做最后一个版本的修改,一直干到了4月20号3点,就在提交了这个马甲包之后,收到了一封邮件(发件人:AppStoreNotices),回邮件了?打开一看,上架了。当时的心情五味杂陈,不知道是开心还是想骂娘,不过还是开心的情绪占了上风,我笑的像个170斤孩子。而在9点多钟我们就收到了马甲包过审的邮件(双喜临门啊)
这个事情算是解决了,后来这个马甲包也没有立即上,因为内购产品类型比较坑。通过这个事情也有了一些收获:
1、一定要看邮件!!(这段时间每天早上睁眼干的第一件事就是看邮件)
2、不要盲目相信论坛上或者别的人关于苹果审核这一套,有些人为了夺人眼球,故意说得玄之又玄,我觉得一切要以官方为准,官方没有说明的,全是推断,一定要相信自己的判断。
最后我说一下苹果的处理方式,直接挂你一个月,也不回你邮件。作为一个正常的人来说,这种方式我是真的不能接受!苹果就像一个受了气的小姑娘,一晾晾你一个月!原因你自己找了,不管你找对了还是找错了,都不理你!what the fuck!跟我们说下挂我们一个月会死吗,虽然从苹果的角度来说这种方式确实不错,但是你也要考虑一下我们这些开发者啊,很多时候我们是真的不懂啊,而且有时候这些侵权的事并不是我们干的,但是解决还是我们来,哎。
第一点、保证自己家产品没有触碰到应用商店审核规则下架红线。
不管是安卓各个应用商店还是苹果的App Store都有着自己审核规则,严格规定不能违反的地方,如果一旦触碰到这些规则,那么就不用想了,无论你怎么申诉,都是无法解决问题,因为是自己家的产品不遵守规则。
第二点、应用商店不会无缘无故的下架产品。
任何的应用商店都是希望自己家上架的产品是最多的,因为可以吸引到更多的用户使用。除非产品因为投诉、刷量、刷评论,以及其他的人为干扰应用商店的算法的事情。即使出现上述问题,应用商店也都会事先通过你预留在开发者平台的联系方式进行警告通知,而不会没有任何预警信息一下子就把产品下架。
第三点、如何解决安卓应用商店被下架
1、为你的产品准备一个马甲包,应对突发情况,如果主包被下架,马甲包可以立即顶上去避免用户流失。
2、一般在一个开发者账号下不要上传太多产品,避免因为某一款产品导致账号被处罚连累其他产品。
3、优化操作时候注意一个量,必要太过火,收到警告邮件或者短信时候就暂停一段时间,不要撞到枪口上去。
4、积极联系应用商店配合更改。发现被下架之后,应该在第一时间向应用商店了解清楚情况,看是不是因为被误下架还是其他原因导致,还有木有挽救的可能性。
5、换账号提交。最好换一个开发者账号提交,但是现在安卓应用商店都对软著等资质要求比较严格,再次上传的时候需要注意提前准备好这些资料。
虽然安卓应用商店比较多,但都是在国内,基本上也能够联系到各个应用商店的商务以及一些负责人,只要能够联系到人,基本上问题都是能够解决的。
第四点、iOS被苹果下架如何处理
处理方式基本上和安卓一样,但是需要注意的是:不建议和苹果审核团队进行申诉。因为苹果基本审核人员都在美国,只有在开发者后台和邮箱进行联系,整个联系效率很慢。当然你如果觉得自己产品没有问题的话,又不着急APP上架,那你就可以慢慢和苹果审核人员磨时间,也许会帮你重新上架。最好方式就是换账号重新提交,换icon,预览图,文案直接再次提交,这样解决问题效率要比和苹果审核人员来回扯皮高。
最后,如何避免自己家产品被下架。
1、尽量符合应用商店审核上架规则。
从大的方向来说,就是不做违纪违法事情。产品层面来说不要过分去干扰应用商店一个算法(刷量刷评论之类的),APP在审核期间的功能和审核通过之后一样、不做隐藏功能之类的。比如说隐藏第三方支付,部分功能隐藏,审核通过之后再打开。需要特别注意的是商标版权相关的问题,因为这个原因也是很多产品被下架的主要问题
2、密切关注应用商店审核规则变化。
特别是在开发者平台预留的手机号,邮箱之类的。多关注开发者邮件和消息中心,当收到苹果审核团队发来邮件之后,有问题要及时回复,不要什么动作都不做,要积极联系。。因为苹果在下架产品之前一般都会先发邮件提醒因为什么违反什么规则。如果你积极的回复邮件,也许你产品就不会被下架。