必要的序
以后在寫系列文章,準(zhǔn)備把基本的規(guī)劃和動機(jī)等,單獨作為一個小的序言部分給獨立出來.序言部分,可以較為完整地交待系列文章的寫作動機(jī),所展示的編碼技術(shù)可能的應(yīng)用場景等.個人,我還是比較看重文章或者書籍等的序言部分的.真有相對確定確實有價值的東西,才會進(jìn)一步去閱讀.所以,我覺得,序,總是必要的.
關(guān)于我寫博客的節(jié)奏
我會盡可能地使每一個系列的文章,能相對完整.但是,就像你看到的這樣,前一個系列還在講Spark,這篇文章就開始講 iOS 開發(fā)的一些問題.到底要鬧哪樣?
還能怎么樣?開心就好!干嘛要讓那些不存在的東西,束縛自己呢!我覺得,理想的生活節(jié)奏就是,做自己喜歡的事,然后分享給有需要的人看.這就夠了.
所以說,未來不管你在博客中看到什么詭異的系列主題,都不用感到驚訝!如果剛好自己也感興趣,一起來玩嘍~
當(dāng)然,有人說,天天BUG,還解不完呢,哪有閑心寫B(tài)UG呢!這是問題,或許也是答案!你用來解決某個BUG的精湛技巧,或許在QA或者PM眼里,不過是理所當(dāng)然地而已;就算他們給你一個贊,你也明白,其實他們可能根本就不懂你解決的這個問題的真正意義.
但是編碼的眾多有趣屬性中的一種就是: 別人的不認(rèn)同,并沒有辦法真正否定你天馬行空般編碼技術(shù)的價值和意義.寫出來,哪怕只有一個人,能真心看懂,發(fā)自肺腑地給個贊--足矣!
為什么要實現(xiàn)iOS圖片等資源文件的熱更新化?
首先說一下,這個系列要做什么.要做的事,簡單說,就是把圖片,CSS樣式等資源文件從項目中剝離出來,放到一個特定的目錄里;然后,我們每次都這個特定地目錄讀取數(shù)據(jù);最重要的是,我們可以動態(tài)更新這個目錄,實現(xiàn)圖片等資源文件的動態(tài)更新,即熱更新.
這件事,本身思路并不難,各個技術(shù)細(xì)節(jié),多花點時間,總是可以解決的.但考慮到,在實際地生產(chǎn)環(huán)境中,可能是App已經(jīng)迭代更新了大半年了,圖片PM腦袋一熱說,我們要做個 換膚 功能.然后,自然要把所有涉及圖片的操作剝離重寫下,而且也要把圖片資源從 Images.xcassets 導(dǎo)出.當(dāng)然,從原始素材導(dǎo)出替換也是可以的,只要你有足夠的時間,只要你不怕進(jìn)度太慢被PM打死,都是OK的.哈哈!
所以說,本系列的重點不在于熱更新技術(shù)本身,而是在于如何用最小的成本,賦予一個中規(guī)中矩的iOS App的資源部分,以熱更新的能力!好吧,略顯繞口,意會!事實也是如此!
作為資源熱更新之外的附加收獲,你的App資源文件體積,應(yīng)該也可以縮小 2/3 左右,當(dāng)然,也再也不用為了一個圖片素材升級App了.另外,本系列所指的資源,也包括內(nèi)置的js,css文件,通常是用來加速H5頁面網(wǎng)絡(luò)訪問的,大家都懂的,不細(xì)說了,原理都差不多.
此系列文章規(guī)劃
系列,爭取本周內(nèi)更新完畢,在不是很側(cè)重的地方,會適當(dāng)縮減篇幅.
實現(xiàn)iOS圖片等資源文件的熱更新化(一): 從Images.xcassets導(dǎo)出合適的圖片
此文會基于一個已有的腳本工具自動導(dǎo)出所有的圖片;最終給出的是一個從 Images.xcassets 到基于文件夾的精簡 合適 的圖片資源集的完整過程.難點在于從完整圖片集到精簡圖片集,肯定是基于一個定制化的腳本,自定義導(dǎo)出的.如果自己手動導(dǎo)出?那,還有的忙嘍~
實現(xiàn)iOS圖片等資源文件的熱更新化(二):自定義的動態(tài) imageNamed
這篇文章,要解決的是,使用一個自定義的 imageNamed 函數(shù)來替代系統(tǒng)的 imageNamed 函數(shù).內(nèi)部邏輯,將貫穿對比論證 關(guān)于"合適"的圖片的定義.對iOS加載圖片的規(guī)則不是很熟悉的童鞋,可以著重看這篇.
實現(xiàn)iOS圖片等資源文件的熱更新化(三):動態(tài)的資源文件夾
此文,將嘗試動態(tài)從某個不確定的文件夾中加載資源文件.文章,會繼續(xù)完善自定義的 imageNamed 函數(shù),并為下一篇文章鋪墊.
實現(xiàn)iOS圖片等資源文件的熱更新化(四): 一個最小化的補(bǔ)丁更新邏輯.
以前寫過一個補(bǔ)丁更新的文章,此處會做一個更精簡的最小化實現(xiàn),以便于集成.為了使邏輯具有通用性,將剝離對AFNetworking和ReativeCocoa的依賴.原來的文章,可以先看這里: http://www.ios122.com/2015/12/jspatconline/
實現(xiàn)iOS圖片等資源文件的熱更新化(五): 一個簡單完整的資源熱更新頁面
一個簡單的關(guān)于頁面,有一個圖片,版本號,App名稱等,著重演示各個系列的文章完整集成示例.有耐心的,可以直接等著最后一篇文章更新.我還沒寫好呢,沒法提前發(fā). O(∩_∩)O哈哈~
系列專屬github地址:https://github.com/ios122/ios_assets_hot_update