沉浸式iOS热更新方案
iOS动态热更技术使得用户无需重新下载APP,就能修复线上BUG,提高用户体验,为APP快速迭代开发提供良好支持。此前业界的热更方案,多数是利用脚本语言修改Objective-C的Runtime实现的,有很多缺陷,如无法修复swift,c,c++的函数。而且用脚本去实现原生语言的方式,提高了学习成本,也带来诸多不便利和语言特性的缺失。最严重的是脚本语言可以随意调用私有api,也容易被黑客攻击,导致此项技术被苹果封禁。SOT热更新方案有以下几个特点:
全语言支持
SOT把动态热更技术提到了一个新的高度,基于自研虚拟机,能满足苹果全部原生开发语言的热更需求,包括objc,swift,c, c++,支持几乎所有的语言特性。更先进的是,无需使用另外的开发语言如Javascript,开发者直接修改原有的代码,利用SDK提供的工具即可自动识别被修改的部分,生成差异补丁,APP加载此补丁来实现热更,让热更开发跟原生开发一样的体验。
能过审
SOT并没有使用遭苹果封禁的dlopen(), dlsym(), method_exchangeImplementations()
等敏感接口,不影响过审。就算SOT过审失败,把SOT去掉即可,无前期费用。
更安全
不像使用脚本语言的方案可以随意调用API,SDK工具需要有原项目代码才能生成合法的补丁,只有合法补丁才能被APP加载,杜绝了被黑客利用的可能性。
能加固
除了能够热更,虚拟机还可用于加固混淆APP,只