又禁热更新的苹果是真不想玩了?
前段时间闹得沸沸扬扬的“打赏门”大家还记得吧?苹果要求微信等平台上的打赏行为必须通过App Store的IAP机制来进行交易,这意味着苹果将会从中收取30%的抽成。当时面临退出还是服从的微信选择去掉iOS版中的打赏功能,而其他平台纷纷选择屈服。
“热更新”禁止后会带来哪些影响?
上面这件事情大家可以参考《微信只是开胃 苹果这次打算单挑所有“打赏”》。但是似乎还觉得不过瘾,苹果这几天又来挑战中国用户的底线了:他们要求当前含有热更新功能的 App在6月12日前移除相关代码,否则会下架处理。这一公告又让网友们炸开了锅,呼吁腾讯和苹果“开战”的网友也开始占据绝对上峰。
首先,热更新是什么玩意?玩手游的朋友对于这个功能肯定非常熟悉,有时打开游戏出现的下载进度条其实就是热更新的一种,对于不玩手游的朋友,那也肯定用过12306吧?几乎每次打开应用时都能碰到应用内数据更新,也属于热更新的一种。
那么苹果要求所有热更新要经过App Store审核究竟意味着什么呢?APP的更新要走App Store审核流程的话,一般需要1~12天的时间,平均来看的话在一周左右,如果一次审核没过,那一次更新就至少得等十天半个月了。这对于每天都有新活动、新模式的手游来说都是非常致命的,总不能每次有新活动都要用户重新下一次几个G的游戏包吧?更别说12306这种时效性非常强,数据每天都会变的应用了。
所以网友们才会如此愤慨,认为苹果为了自家iOS的安全性和声誉,不惜牺牲了众多开发商的利益和用户的使用体验。加上上一次微信事件的余威尚未散去,所以网友们又开始站队,支持腾讯、网易这些受影响的开发商和苹果翻脸,这也让很多苹果死忠一时间陷入了两难的境地。
实际情况真的如此么?这次苹果冤枉了!
在国内媒体的报道中,大部分都是引用的下面这篇邮件,并且将苹果的举措渲染成“所有应用和游戏的热更新都需要经过苹果审核”。但是我们显然能看到邮件中苹果提到的 3.3.2 条款和 2.5.2 条款等前提条件,所以我们也在其他渠道找到了一些苹果官方对于这一事件更加详细的解读,最后发现这次苹果原来是做了一件好事。
从苹果App Store审核指导书中 3.3.2 条款可以看到,苹果禁止的是的是 rollout.io, JSPatch 这类具备修改App原生代码的能力的热更新。而对于从远程下载JavaScript代码等方式来执行热更新是规定允许的!而在2.5.2 条款苹果明确指出,如果开发者要用到OC、rollout.io 或者 JSPatch形式的代码,就必须将其放到App中提交给苹果进行审核。
简单的说,对于能够被黑客利用的更新框架,苹果要求必须经过审核,不能将这些框架用于热更新;而对于其他安全的热更新方式,苹果并未作出任何限制。接下来就是最重要的一点了:绝大部分游戏引擎都属于不被苹果限制的类别,包括12306等数据频繁更新的应用也是一样,他们使用的,都是JavaScript代码等被苹果允许的方式。
那么苹果这次对于“热更新”的限制究竟是为什么呢?原来以前有不少应用开发者认为修复BUG之类的小更新没有必要提交给苹果审核,所以在热更新中使用了JSPatch等有潜在危险和被苹果禁止的方式,正是这些行为才促使苹果这次“玩真的”。
所以这下大家终于知道这件事情的来龙去脉了吧?这次对于热更新的限制,确实是能够为iOS带来更安全的使用环境的,并且对于我们平时的使用几乎没有任何影响。值得一提的是,谷歌在Play Store的审核机制中也有相关规定,不少国内应用在谷歌Play Store就因为滥用热更新而被下架过,可惜国内的安卓用户就不能享受Play Store这样安全的应用商店了。
断章取义的假报道不可信
那么最后我们还有一个问题,为什么苹果最近一有动静媒体就会引诱网友去鼓动腾讯和苹果开战呢?甚至不惜采用这种断章取义的方法,这背后的秘密值得深思!不过这里要为大家解释的不是这个,我们只想为大家呈现一个事实:苹果和腾讯的关系其实好着呢!
不信看看昨天的WWDC:iOS11系统中,苹果手机相机增加二维码扫描功能,用户直接用系统相机扫描微信二维码了,而且微信还在大会展示了最新设计的个人微信二维码;同时,Safari浏览器内置腾讯安全云库的能力,Files App 接入腾讯微云等个人云存储服务;《纪念碑谷2》也是由腾讯在中国市场代理发行......
所以大家也别想着什么抵制iPhone、支持腾讯干掉苹果这种天方夜谭的事情了。对于现在网络上各种关于“热更新”的假新闻,大家笑笑就好,真相永远掌握在少数人手中。
【本文图片来自网络】
推荐阅读