iOS之深入解析插件化架構
一、前言
WWDC2014 蘋果在 iOS 上開放了動態庫,這給了我們一個很大的想象空間。動態庫即動態鏈接庫,是 Cocoa/Cocoa Touch 程序中使用的一種資源打包方式,可以將代碼文件、頭文件、資源文件、說明文檔等集中在一起,方便開發者使用。動態庫在編譯時并不會被拷貝到程序的可執行文件(也就是 mach-o)中,等到程序運行時,動態庫才會被真正加載。
動態庫運行時才載入的特性,也可以讓我們隨時對庫進行替換,而不需要重新編譯代碼。這樣我們就可以做很多事情,比如應用插件化及動態更新:
應用插件化:目前很多應用功能越做越多,軟件顯得越來越臃腫,如果軟件的功能模塊也能像懶加載那樣按需加載,在用戶想使用某個功能的時候讓其從網絡下載,然后手動加載動態庫,實現功能的插件化,就再也不用擔心功能點的無限增多了,這該是件多么美好的事。
應用模塊動態更新:當軟件中的某個功能點出現了嚴重的 bug,或者想更新某個功能,這時候只需要在適當的時候從服務器上將新版本的動態庫文件下載到本地,然后在用戶重啟應用的時候即可實現新功能的展現。
那么,如何使用動態 Framework 的方式實現 App 的插件化及動態更新?
① 實現思路
將 App 中的某個模塊的內容獨立成一個動態 Framework 的形式,在用戶想使用某個功能的時候,根據配置列表從服務器上將對應的動態庫文件下載到沙盒,然后加載動態庫并由 principalClass 進入獨立功能模塊,實現功能的插件化動態
iOS
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。