天天看點

iOS第三方類庫JSPatch(熱更新)

----------------------------------------------------------------------------------------------------------------------------

更新記錄

2016年3月4日

<a href="http://www.cnblogs.com/zhanggui/p/5157177.html" target="_blank">一、前言</a>

  場景一:我們在做ios開發的過程中,難免會由于自己的不細心導緻一些小問題。如果産品沒上線之前發現還好,如果上線了才發現問題,那麼問題就大了,可能直接影響kpi,更嚴重的甚至直接面臨着fire。

  場景二、一旦上線的産品,如果臨時遇到需求變動,那麼久必須重新修改代碼。一旦修改了項目代碼的話,我們就必須重新發版。這樣豈不是很麻煩?

  現在就來讓我們看一下jspatch,它的出現可以在不發版的情況下動态的自行修複或者添加新的需求。

二、jspatch簡介  

  jspatch:它是一個第三方類庫,位址如下:

  它是javascript和oc之間的橋梁,你可以在js檔案中去調用任何oc類和方法,然後在js檔案中去動态修改oc類。達到不重新發版就更新的效果。它主要是使用的oc runtime實作的。我們可以使用它熱更新自己的ios app。

三、jspatch使用

然後添加如下代碼在

添加如下:

iOS第三方類庫JSPatch(熱更新)
iOS第三方類庫JSPatch(熱更新)

其中的demo.js就是我們需要手動去寫的一個js代碼:

iOS第三方類庫JSPatch(熱更新)

require('uiview,uicolor');

defineclass('viewcontroller',{

changebgcolor:function() {

var view = self.view();

view.setbackgroundcolor(uicolor.yellowcolor());

return view;

}

});

iOS第三方類庫JSPatch(熱更新)

我們可以簡單看一下demo.js的内容。其中的viewcontroller就是我們需要更改的類的類名,changebgcolor就是類viewcontroller中的一個方法,我們可以通過該js去重寫該方法,達到不更新oc代碼就可以修改程式的效果。

四、項目中的使用

  這裡就隻是簡單的說一下使用,我們可以讓背景寫一個接口,通過該接口去拿到伺服器上的js檔案,然後動态修改伺服器上js檔案,就可以達到熱更新的效果。

五、更多

六、附

繼續閱讀