产业频道

关于苹果热更新的解读:《王者荣耀》等APP并不会因此而下架

时间:17-06-13 作者:echo | 浏览:0次|

前段时间一直有爆料称开发者收到苹果通知,要求“当前含有热更新功能的 App,在6月12日前移除相关代码,否则这些 App 可能会下架。”

昨天(6月12日)是苹果禁止部分热更新的第一天,但是此前传出的,像是《王者荣耀》《12306》等大批热更新机制应用即将下架。

那么一直被苹果多次提出的热更新究竟是什么?简单来说,服务器在不关闭的情况下,用户打开应用即可下载安装更新的代码运行,这是目前移动游戏更新的主流方式之一。

1

举个例子,主流的游戏都会根据不同的节假日做大型的活动运营,这种运营基本都是即时性的,热更新是满足这种需求最有效的方式之一,而如果通过提交App Store审核的方式下发更新,考虑到Android和iOS同步,大型游戏可能需要1个月甚至更长的审核周期,这一点苹果也应该心知肚明。

事实上3月份苹果就曾对部分应用程序的开发者发出了相关通知。

多轮通知足够反映出苹果对采用热更新应用程序潜在安全风险的关注,这也使得外界猜测,苹果要对热更新动刀子了,以至于传出了“王者荣耀、12306等大批使用热更新机制的游戏和应用不执行就会被下架”的传闻。

以下是通知原文:

2

苹果官方给开发者发出的通知,关键就在这句话:我们曾要求你移除所有相关代码、框架或 SDK,并且重新提交版本。

知乎上有一位匿名开发者公布了更多细节:

“不符合2.5.2条款, App包含热更新代码,特别提到了dlopen(),dlsym(),respondingToSelector:, performSelector:, method_exchangeImplementations()这些函数,但是苹果没有禁用热更新,只是禁用了几种热更新框架和技术,而JSPatch等苹果不让使用的原因是,能够直接修改代码,可以修改到功能,这样其实绕过了苹果的审核,其他的苹果禁止使用的框架也是如此。”

关于应对措施,这位开发者的方案是这样:

“后期提交的版本,要么没有热更新,要么只能用React Native框架热更新,其他如JSPatch、RolloutIO、TriggerIO、WAX(Lua)等都不能用”。

也就是说,要求移除相关代码、框架和SDK只是为了规范开发者的代码,此举会冲击到部分热更新解决方案,但不等于封杀热更新,合理采用热更新机制的产品,不存在也没理由被下架。

这一点,我们从知乎“如何看待苹果禁止 JSPatch 等 iOS APP 热更新方案?”这个话题中,一位来自白鹭时代的开发者王铎的回答中也找到了相应的答案。

“截止目前为止,我们也没有收到使用白鹭引擎打包游戏的开发者收到了苹果警告邮件的消息。”

“目前为止收到警告邮件的开发者绝大部分使用了 JS-Patch 或 Rollout 类库,剩下未直接使用这些类库的开发者,目前初步估计很可能是在集成的第三方SDK 中使用了上述框架。而未采用上述框架的热更新技术,目前为止并未收到影响。而绝大部分游戏引擎由于并没有调用这些类库,也自然没有受到影响。

所以苹果确实对于采用热更新机制提出了严格的要求,但如果解读为禁用封杀热更新,并不准确。

苹果为何要这么做?

苹果禁止滥用热更新机制,和iOS封闭的做法本质上是一致的,为了应用生态的安全可控和体验的一致性,毕竟App Store堪称是苹果最大的现金牛之一。

数据显示,到目前为止App Store给开发者的收入分成高达700亿美元,去年就达到了200亿美元。

因为“热更新”不需经过App Store审核而容易被黑客或组织利用此机制修改App,因此除了涉及到用户的数据安全和隐私之外,苹果也在尝试利用限制“热更新”的名义在进化苹果生态,打击一些试图利用热更新打擦边球的应用,通过更新审核拦截和打击一些黄色、暴力、赌博、第三方支付、违规广告等内容。

市场研究公司Macquarie的分析师Ben Schachter在报告中这样写道,“App Store是有史以来最好的商业模式之一,苹果的投资者不需要依赖于苹果的创新来驱动该模式的前进。”

任何一个小细节都有可能搞砸App Store这块大蛋糕,尤其是采用JSPatch热更新这种苹果无法把控的应用更新机制。

据了解,今年二月份网络安全公司Fire Eye发现JSPatch存在安全漏洞,一旦黑客发现和利用这个后门,他们就能够访问到设备中的照片、麦克风和剪贴板数据以及其他涉及个人隐私的功能,App Store中有1220款应用程序可能会受此影响。

所以,苹果有必要对采用这类机制的开发者提出了“移除所有相关代码、框架或 SDK,并且重新提交版本”的要求。

总结下来,苹果的禁止了部分热更新的函数、框架和代码,但未禁用热更新机制,所以那些关于王者荣耀、12306等产品被下架的内容,可能是对苹果开发者条款的误读,只能说你被骗了。

禁止热更新对游戏厂商来说到底意味着什么?

3

苹果禁止热更新,首当其冲的就是移动游戏,因为这是一个极度依赖热更新的领域,运营活动、BUG修复、大包体游戏更新等都会受到重大影响,这也是为什么苹果出台新政后,行业内引起了一阵骚动和广泛关注。

首先,一次审核长达一个月之久,那么游戏中运营活动,比如节假日运营活动想要顺利上线,就势必要很早进行审核,那么有效的运营活动会非常受限。

其次,还记得去年《阴阳师》重大BUG事件么?如果去年就已经采用了禁止热更新的政策,那么《阴阳师》从发现BUG,到修复BUG,如果要提交审核到版本上线,那么这个事故的损失就是无法估计的了。

再次,大包体手游手游更新,如果禁止热更新,同样意味着漫长的审核,以及每一次,用户都要重新下载游戏,那么对于现在游戏包体越来越大的移动游戏,这势必会为用户造成困扰,那么无形之中就会损失不少用户。

最后,“切支付”已经在国内成为一个心照不宣的公开秘密,通过热更新的形式,叠加一个支付账户出口,绕开苹果账户系统,以此获得的流水可以不与苹果分成。而规范热更新,则能直接有效地避免这一行为,而更多地业内人认为,这一点才是苹果这次如此坚决推出禁止热更新的主要原因。

看精彩攻略秘籍,玩海量精品手游
  • 关注4399手游微信
  • 收藏本文