iOS熱更新的幾種方案

來源:互聯網
上載者:User

標籤:ova   修複   one   體驗   icloud   更新   time   com   通過   

iOS APP的上架審核一直是個令人困擾的問題,動輒一個星期甚至半個月的審核時間,往往會耽誤產品的運營計劃。

尤其是,審核過程中難以避免的會被蘋果拒絕,然後又是一個周期,很是痛苦。

除了在提交審核前,儘可能的保證產品沒有Bug,以及充分研究蘋果的app審核政策外,從技術開發層面如果能解決熱更新問題,則再好不過了。

所以我簡單整理了以下一些技術,可用於產品的內部更新,而不用重新提交給蘋果審核。如果有更多的方案,或是錯誤,也請提出。

 

1. Hybrid App

混合架構,藉助於Html,JS等前端技術,實現產品的即時更新。通過建立中介層,搭建前端和Native的橋樑,實現相互連信和資料共用。

常見的混合架構有:Cordova(原PhoneGap),ReactJs/ReactNative以及國內的一些技術(Html5+Runtime,APICloud等,技術原理上應與Cordova是相同的)

這種技術的一個明顯的優勢是,不需要針對多平台做多次開發。但也並非萬能,除了體驗上的區別外,一些大的功能還是不可避免的要升級用戶端的。比如說Cordova,

是以外掛程式的方式提供原生互動能力的,如果外掛程式不足以支撐新功能,則需要升級版本,更新外掛程式。

 

2. JSPatch

JSPatch利用了OC的動態特性,在運行時可以獲得類對象和方法,也可以修改方法的實現,可以動態添加新類和新方法,以此實現對代碼的更新。

不過這種方法不便於新功能的開發和大範圍的改動,做一些修複性的更新還是可以的。

稍詳細的介紹可參考簡書上的這篇文章http://www.jianshu.com/p/8cec322531ae。後續有時間的話,我會深入瞭解一下JSPatch的源碼。

Github上的中文使用說明:https://github.com/bang590/JSPatch/blob/master/README-CN.md

 

3. xcode 6 之後,蘋果開放了 ios 的動態庫編譯許可權。所謂的動態庫,其實就是可以在運行時載入。正好利用這一個特性,用來做ios的熱更新。【參考 http://www.2cto.com/kf/201507/417661.html】

這種方法通過更新動態連結程式庫的方式,提供熱更新方法。不過這種方法我沒有驗證過(包括lua指令碼的方法,也沒有瞭解過),對其可用性易用性不妄加評論。

 

4.Cocos2D 適用於遊戲開發。

 

以上內容只是簡單的整理,並非所有的技術我都得以驗證過,如有謬誤還請提出。後續會對這些技術一一分析比較。

 

iOS熱更新的幾種方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.