JSPatch熱修復

? ? ? 首先,簡單說一下,為什么要用JSPatch,做iOS開發的人都知道,一旦程序出現了緊急BUG,各種申請蘋果的加急審核,然而還被拒絕的心情,因此,不得不提一下騰訊的小伙子寫的這個JSPatch.廢話不多說,先來個學習鏈接,可以在第一個鏈接學習到JSPatch與OC交互的一些基本語法,其實筆者很多語法都是自己看著wiki摸索出來的,也就是說wiki上的語法只是寫簡單的,不過對于修復一些簡單的小BUG而言,足夠了,第二個鏈接是用來翻譯代碼的,大家做輔助寫代碼的工具就好,因為翻譯正確率真的不是太高~~

github.com/bang590/JSPatch/wiki/%E4%BD%BF%E7%94%A8-JSPatch-%E5%BC%80%E5%8F%91%E5%8A%9F%E8%83%BD%E6%A8%A1%E5%9D%97

bang590.github.io/JSPatchConvertor/

1.先補充一下wiki中對枚舉的解釋

? ? ? ?因為JS是弱類型的語言,所以JS是沒有枚舉這個類型的,所以對于OC中的一些枚舉類型,寫在我們的JS中我們的程序會直接崩潰的,所以個人建議不要順著wiki中直接去些那些魔法數字,會對程序的閱讀性不高.筆者建議用下面這種方式重新定義一下枚舉

//點擊方式枚舉

global.UIControlEventTouchUpInside = 1 <<? 6;

(如果有人對global.UIControlEventTouchUpInside)這個方法有疑問的話,下面有筆者附上的一個github地址,大家去參考一下筆者寫的demo.具體的一些如何新加類,控制器之間的傳值,大家也可以去具體看筆者的demo.

2.JSPatch如何使用?

1>導入JS框架(pod 'JSPatch')?

2>在AppDelegate中導入JPEngine.h

筆者注釋掉的那段代碼呢,是JSPatch另一種調用JS代碼的規則,不過是不支持多文件的,第二種調用規則是支持多文件的.使用起來就這么簡單,只要和自家服務器做好配合就行.

下面是筆者寫的一個demo鏈接GitHub - 995996812/JSPatchTbaleViewDemo: JSPatch

3.原理

至于JSPatch一些相互轉換的原理,筆者提供一個博客地址,感覺這個寫的還是比較好的!

JSPatch實現原理詳解:讓JS調用 - 替換任意OC方法 - CocoaChina_讓移動開發更簡單

小伙伴們,感覺提供的學習資源足夠的話!請給個好評哦!!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 最近接觸到熱修復, 確實能解燃眉之急, 非常好用, 故分享給大家. 這里只講 JSPatch, 這個是現在最熱門最...
    Cean16閱讀 1,491評論 2 4
  • 前言 一說到熱修復,可能很多人會覺得應該很復雜,很難用(我以前是這么覺得的。。。),然后最近入職的公司的項目,剛上...
    翻炒吧蛋滾飯閱讀 2,665評論 24 42
  • JSPatch 是騰訊微信團隊牛人bang開源的一種通過JavaScript調用iOS原生代碼來實現熱修復或者動態...
    杭研融合通信iOS閱讀 880評論 2 23
  • 背景 是否有過這樣的經歷:新版本上線后發現有個嚴重的bug,可能會導致crash率激增,可能會使網絡請求無法發出,...
    wu大維閱讀 1,746評論 12 24
  • 好久沒更新自己的博客了,最近終于閑下來了, 總結下, 最近使用的 JSPatch,幫助大家節省些學習時間. JSP...
    羽亦閱讀 411評論 1 2