多少人误解了苹果的热更新条款?另浅析新规对App的影响。
昨天是苹果正式施行热更新规范的日子,但是蝉大师发现,关于苹果禁止热更新这事,很多人都误解了。在这里,我们给大家详细的说明并分析新规对App的影响。
首先要给大家直白一点的解释什么是 热更新 。热更新就是用户在通过 App Store 下载完应用后,一打开应用就会遇到即时更新的需求。
举个栗子,我们最熟悉的12306,经常点开应用就会出现让你下载更新的提示,这个就是热更新。它不需要你去App Store重新下载更新。
苹果不是全面封杀热更新,而是针对部分
苹果在最新的通知里是这样写道的:在今年 3 月我们已经发过消息提醒,你的 App 内似乎有一些热更新(即绕过 App Store 审核的更新)的代码,这些代码违反了苹果开发者协议的 3.3.2 条款与 App Store 审核指南的 2.5.2 条款。以及,我们曾要求你 移除所有相关代码、框架或 SDK,并且重新提交版本。
注意上面粗体部分, 苹果不是在全面封杀热更新,而是针对性的禁止那些诸如JSPatch所引起的更新漏洞可能被黑客利用,给用户带来安全隐患的热更新的函数、框架和代码。
所以 苹果只是要让开发者使用合理的热更新机制 ,目前开发者依然可以用React Native框架来进行更新。
为什么要禁止JSPatch这类热更新
JSPatch允许开发者在JS端调用任意原生代码,这显然是极其危险的。假设这段代码是通过热更新技术下载执行的,如果在中间存在黑客,把这段代码动态替换掉,比如修改为获取用户通讯录并上传到黑客的服务器,就会造成重大的安全问题。
所以苹果要求禁止的是这类热更新, 那些合理采用热更新机制的应用不会被App Store下架。 那些合理采用热更新机制的应用不会被App Store下架。
哪些热更新可以用,哪些不能
JSPatch、RolloutIO、TriggerIO、WAX(Lua)等都不能再用。开发者可以用React Native框架来进行更新。
热更新条款对App的影响
从蝉大师今日下架应用列表中,我们发现相较于昨天,今日下架应用数量尚未有明显异常。不过当中有不少是游戏应用。
目前并不能肯定上述一些应用就是由于热更新的问题被下架。不过从收到警告邮件的开发者来看,他们绝大部分使用了 JSPatch 或 Rollout 类库,剩下未直接使用这些类库的开发者,可能是在集成的第三方SDK中使用了上述框架。所以那些因热更新问题被下架的应用很可能就是由于上述原因。开发者们还是尽快使用合理的热更新框架、代码,遵守苹果新规为宜。
由此来看,目前热更新新规对App下架的影响并不算大。但是,对那些游戏大厂商来说之后的应用更新、Bug修复等耗时将会更长,显然将不利于用户体验并且会引起不小的用户流失量。
注:本文作者:范秀一,文章来自蝉大师,转载请注明出处。
AD: 【移动新媒体】 移动新媒体-中国领先的泛娱乐互动平台