iOS 热更新技术探索

本文介绍了热更新技术的背景及其在iOS应用中的重要性,并详细探讨了两种主流的热更新方案:微信采用的JSPatch和支付宝使用的Ali-Wax。前者通过JS脚本实现对原生方法的调用,后者则利用Lua语言实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是热更新。

受限于iOS平台需要先审核在上线,一旦线上发现bug,想要修复还需要等到下次版本提交,这无形中会带给我们一些困扰,尤其是一些BAT量APP,所以热更新技术应运而生。

 

2.热更新解决方案。

我目前知道的有两种

第一种:微信使用的JSPatch

JSPatch看名字就知道它是通过JS来实现的,大致原理就是通过下发JS脚本,通过消息转发调一些OC原生的方法,这个框架主要是用到一些JS高阶和运行时结合消息转发来实现,支持cocopods,使用的话需要你有JS功底。

 

附:使用介绍

在appdelegate引入头文件,JS文件拖入项目中。

在APP启动后根据版本号判断是否需要更新JS文件,需要则发起请求获得文件,不需要则执行本地的JS。

 

第二种:支付宝使用的Ali-Wax

Ali-Wax是基于Wax,fork的一份源码。通过lua语言来实现,支持64位和多线程安全。因为本人不太熟悉lua,暂时不做使用介绍。

 

参考资料:

https://github.com/bang590/JSPatch/wiki

https://github.com/alibaba/wax/wiki

延伸:

http://blog.cnbang.net/tech/3286/

转载于:https://www.cnblogs.com/zhaoyunboy/p/6143353.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值