最近“苹果下架热更新APP”的事件仍在持续发酵,之前他们要求App Store上的部分应用移除热更新框架和功能,否则将会面临APP下架的惩罚,截止目前已经有接近3万APP遭到下架处理,其中包括曾经红极一时的《天天酷跑》,让人不禁担心同属腾讯系的《王者荣耀》。而事实上这次下架并非只针对中国,世界范围内的App都受到苹果警告和下架处理,那么苹果所禁止的App热更新究竟是什么呢?

什么是热更新?

APP热更新是指软件不通过苹果的软件版本更新审核,直接在应用内自行下载软件数据进行更新。为了让游戏的Bug和数据能够及时修复和更新,国内以腾讯、网易为首的绝大多数手游,都在使用热更新功能(如果走App Store审核流程,平均时间在一周左右(1到12天),而且还有可能不通过)。但理论上来说,热更新完全可以让一个规规矩矩的App瞬间变成“老司机专场”,甚至威胁到用户的信息安全,最关键的是该过程还绕过了苹果的审核机制。

从苹果的角度来看,禁止应用热更新是为了保护用户隐私,进一步保证自己打造的生态圈质量;但是从目前情况来看,众多手游玩家已经受到这次APP下架的波及——事实上游戏类应用是App Store上下载量最多的软件,如果这些手游全都被禁止热更新甚至下架,无疑会对众多iPhone用户造成影响。

那么问题来了:其实还有很多iOS游戏都支持热更新功能,而从苹果“直接下架应用”的严厉手段,也可以看出它整顿App应用的决心,但是为什么没有对热更新应用进行“一刀切”呢?这点目前只能从苹果的邮件中寻找端倪:

尊敬的开发者,

您的App,扩展程序和或链接框架包含明确设计的代码,可以在通过审核后修改应用的操作和功能,这违反了Apple开发人员计划许可协议,以及应用商店的审查指南。和最初对App Store进行审核相比,此代码与远程资源相结合,支持对应用程序的行为进行重大更改。虽然当前可能不使用此功能,但它可能会加载私有框架、私有方法、并支持未来的功能更改。

这包括将任意参数传递给动态方法(如dlopen(),dlsym(),respondingToSelector :, performSelector :, method_exchangeImplementations())和运行远程脚本以便更改应用程序行为或调用API的任何代码。即使远程资源不是故意或者恶意的,它也可能被劫持和攻击,这将会对您的应用程序的用户造成严重的安全漏洞。

请各位开发者对您的应用执行深入审核,并删除符合上述功能的任何代码,框架或SDK,然后再提交下一个更新以供审核。

苹果在邮件中表示,不允许开发者使用动态发代码的机制,被警告的开发者将要在下个版本的更新中,去除动态改变应用的目标功能,但似乎没有禁止开发者对数据层面进行热更新。对于热更新行为,苹果禁止的是从网络下载代码并修改应用的操作,不包含可执行代码的内容更新应该是没问题的(但不排除苹果之后为了用户“一刀切”)。目前苹果下架热更新应用的还在继续,而苹果也在进一步改革自身的审核机制,让应用审核可以在短时间内完成。

上一篇:VoLTE手机有哪些?一文教会你如何开通手机VoLTE功能
下一篇:能返现的电话卡:套餐外消费返现50%的蚂蚁红包卡好不好?

与《苹果iOS应用下架愈演愈烈,让数万APP“躺枪”的热更新是什么?》相关的内容: