据前瞻网6月20日报道,不久之前,苹果向中国开发者提出两项措施,即强制收取打赏抽成30%和禁止使用热更新。如果不删除应用中有关于热更新的相关框架,将被强制下架。而这两项措施也在国内引起了众多的讨论,甚至有媒体将这起事件称之为苹果在对中国开发者宣战。
截止到6月16日,据多家媒体使用移动推广数据平台ASO100查询,在App Store中国地区下架应用已经接近3万,6月15日一天,应用下架数量超过2万,其中游戏类应用超过了1万个。
此外,美国地区也受到这次风波的影响,近几日下架应用也突破了2万7千个,而且涉及面非常宽广,众多畅销榜上有名的应用遭到下架。
针对本次大规模的下架事件,有分析人士表示,苹果这一举动或许是为了清理依旧在使用热更新的应用,对于中国的开发者而言,这也是苹果给予的一次警告。
截止目前,苹果官方尚未对此次大规模下架应用作出回应。
什么是热更新?
简单来说,热更新是一种各大手游等众多App常用的更新方式,就是在用户通过App Store下载App之后,打开App时遇到的即时更新。这种方式可以为用户带来不少便利,因为不需要进入应用商城重新下载完整的App。
近日,不少App开发者收到了苹果公司的禁止热更新警告
但这个方式也有弊端,因为同时绕过了App Store审核团队的审核,从而可能会导致黑客开发者上架正常App之后,再通过热更新向用户植入具有安全隐患的代码,这违反了苹果的安全隐私政策。并且,禁止热更新也可以让苹果掌握更多App审核的权限。
一般来说,App要走App Store审核流程的话,需要的时间大概在1到12天,平均就是一周,如果一次没有通过审核,那下一次更新至少要等半个多月,这对于一个经常需要更新版本的手游来说,将是一次巨大的打击。
世界级的大规模下架
当然,本次下架苹果也并非完全是针对中国,早在今年的3月到6月,苹果就通过游戏向开发者发送了数封警告函,以强硬的姿态要求开发者删除自己应用中有关于热更新的相关框架,否则就将进行强制下架,时间正是6月中旬。
截止至今,苹果已经在中国地区下架了超过3万个应用,其中就包括了《天天酷跑》等热门游戏,在6月15日下架数达到了2万。当然美国地区也受到了影响,在这几天被下架的应用也突破了2万7千多个,而且涉及面非常宽广,众多畅销榜上有名的应用也遭到下架。
另据IT之家今天(21日)称,此次下架从6月13日开始,而当天腾讯旗下《天天酷跑》更新日志称“修复bugs”可能就是移除的热更新代码。
而游戏陀螺称,腾讯旗下的两款游戏《天天酷跑》和《龙骑帝国》,于13日双双下架,但隔天《天天酷跑》就又火速重新上架了,有业内人士称,《天天酷跑》本次下架或与热更新无关,仅是修复bugs。
据观察者网查询,目前,该款游戏可以从App Store顺利下载,没有异常。
当然,也有一些具备热更新的应用逃过了一劫,比如《王者荣耀》、《阴阳师》等,热更新形式依旧可以正常的使用,看起来国内还是有一些程序员克服了苹果的阻碍政策。
对此,知乎中的一位匿名开发者给出了进一步的解释:
“不符合2.5.2条款,App包含热更新代码,特别提到了dlopen(),dlsym(),respondingToSelector:,performSelector:,method_exchangeImplementations()这些函数,但是苹果没有禁用热更新,只是禁用了几种热更新框架和技术,而JSPatch等苹果不让使用的原因是,能够直接修改代码,可以修改到功能,这样其实绕过了苹果的审核,其他的苹果禁止使用的框架也是如此。”
也就是说,尽管JSPatch等热更新机制被禁止了,但开发者仍然可以用React Native框架进行更新。
“后期提交的版本,要么没有热更新,要么只能用React Native框架热更新,其他如JSPatch、RolloutIO、TriggerIO、WAX(Lua)等都不能用”。苹果希望借此机会让开发者使用合理的热更新机制。
再三提醒开发者进行热更新代码的修改和调整,由此看来,苹果整顿的态度已经非常明确了,而收回App更新的审核权限,实际上是想限制一些暴力的打擦边球的内容。
苹果在去年发现了由于JSPatch引起的更新漏洞可能会被黑客利用,JSPatch允许开发者在JS端调用任意原生代码,这显然是极其危险的。假设这段代码是通过热更新技术下载执行的,如果在中间存在黑客,把这段代码动态替换掉,比如修改为获取用户通讯录并上传到黑客的服务器,就会造成重大的安全问题。
因为“热更新”不需经过App Store审核而容易被黑客或组织利用此机制修改App,因此除了涉及到用户的数据安全和隐私之外,苹果也在尝试利用限制“热更新”的名义在进化苹果生态,打击一些试图利用热更新打擦边球的应用,通过更新审核拦截和打击一些黄色、暴力、赌博、第三方支付、违规广告等内容。