iOS 熱更新技術探索

1.什麼是熱更新。git

受限於iOS平臺須要先審覈在上線,一旦線上發現bug,想要修復還須要等到下次版本提交,這無形中會帶給咱們一些困擾,尤爲是一些BAT量APP,因此熱更新技術應運而生。github

 

2.熱更新解決方案。安全

我目前知道的有兩種微信

第一種:微信使用的JSPatch多線程

JSPatch看名字就知道它是經過JS來實現的,大體原理就是經過下發JS腳本,經過消息轉發調一些OC原生的方法,這個框架主要是用到一些JS高階和運行時結合消息轉發來實現,支持cocopods,使用的話須要你有JS功底。app

 

附:使用介紹框架

在appdelegate引入頭文件,JS文件拖入項目中。lua

在APP啓動後根據版本號判斷是否須要更新JS文件,須要則發起請求得到文件,不須要則執行本地的JS。spa

 

第二種:支付寶使用的Ali-Wax.net

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/

相關文章
相關標籤/搜索