前言
手淘3.26号,iOS大范围出现首页Alert强制更新, 然而大家刚八卦没多久, 手淘线上修复了.随之第二天紧急版本就上线了.
这里不得不佩服手淘技术团队的强大, 那位在如此强大团队中,写出这个alert的肯定也是大佬一枚
事情发生后我就在想如果事情发生在我们的APP中, 我们是否拥有这种应急的机制和能力呢, 这也让我想起了去年在58的时候写出了一个线上bug. 那时候就在想,如果拥有动态修复这些bug的能力就好了
然后自己重复早了个轮子TTPatch
,基于js
脚本实现热修复,热更新.
昨天了解到手淘是用lua
热修复的这个问题, 本来担心热修复收益高 但风险也高,就没再深入研究.
手淘的使用让我突然有了兴趣.用了两天的时间把TTPatch
完善了一下.
按照手淘的bug场景 使用TTPatch修复了一下
下面是效果展示
- 进入伪淘宝首页, 在
viewDidLoad
中模拟Alert ,现象为每次进入首页Alert - 点击加载修复补丁, 模拟远程补丁下发加载. 并持久化, 待下次启动直接下载补丁
- 进入伪淘宝首页, bug已动态修复.
- 退出重新启动
- 进入伪淘宝首页, 无需再次加载远程补丁, bug已动态修复.
最后附上TTPatch
地址,内含Demo
TTPatch.github