前言
手淘3.26號(hào),iOS大范圍出現(xiàn)首頁(yè)Alert強(qiáng)制更新, 然而大家剛八卦沒(méi)多久, 手淘線上修復(fù)了.隨之第二天緊急版本就上線了.
這里不得不佩服手淘技術(shù)團(tuán)隊(duì)的強(qiáng)大, 那位在如此強(qiáng)大團(tuán)隊(duì)中,寫(xiě)出這個(gè)alert的肯定也是大佬一枚
事情發(fā)生后我就在想如果事情發(fā)生在我們的APP中, 我們是否擁有這種應(yīng)急的機(jī)制和能力呢, 這也讓我想起了去年在58的時(shí)候?qū)懗隽艘粋€(gè)線上bug. 那時(shí)候就在想,如果擁有動(dòng)態(tài)修復(fù)這些bug的能力就好了
然后自己重復(fù)早了個(gè)輪子TTPatch
,基于js
腳本實(shí)現(xiàn)熱修復(fù),熱更新.
昨天了解到手淘是用lua
熱修復(fù)的這個(gè)問(wèn)題, 本來(lái)?yè)?dān)心熱修復(fù)收益高 但風(fēng)險(xiǎn)也高,就沒(méi)再深入研究.
手淘的使用讓我突然有了興趣.用了兩天的時(shí)間把TTPatch
完善了一下.
按照手淘的bug場(chǎng)景 使用TTPatch修復(fù)了一下
下面是效果展示
- 進(jìn)入偽淘寶首頁(yè), 在
viewDidLoad
中模擬Alert ,現(xiàn)象為每次進(jìn)入首頁(yè)Alert - 點(diǎn)擊加載修復(fù)補(bǔ)丁, 模擬遠(yuǎn)程補(bǔ)丁下發(fā)加載. 并持久化, 待下次啟動(dòng)直接下載補(bǔ)丁
- 進(jìn)入偽淘寶首頁(yè), bug已動(dòng)態(tài)修復(fù).
- 退出重新啟動(dòng)
- 進(jìn)入偽淘寶首頁(yè), 無(wú)需再次加載遠(yuǎn)程補(bǔ)丁, bug已動(dòng)態(tài)修復(fù).