題外話
最近新入職是辕,花了一點時間學(xué)習(xí)iOS的動畫相關(guān)的知識扶歪,當(dāng)然還要學(xué)習(xí)一些目前工作所需要的預(yù)備知識。
之前的公司iOS項目很小糙置,只有我一個人開發(fā),代碼和版本管理也比較隨意是目,但是新的公司項目比較大谤饭,功能模塊很復(fù)雜,其中很多功能其實是可以獨立出來的懊纳,但是由于項目初期并沒有考慮到這一點揉抵,后面需求和功能越來越多,就導(dǎo)致整個項目很臃腫嗤疯,現(xiàn)在正在嘗試冤今,將其中可以獨立出來的功能,進(jìn)行組件化給獨立出來茂缚,類似于一種重構(gòu)戏罢,從而提高項目的可維護(hù)性屋谭,目前給的任務(wù)大概的是組件化其中某一個模塊。所以花了一點點時間自己看了一點資料龟糕,并進(jìn)行測試桐磁。
正式開始
CocoaPods首先是必須安裝和配置好的,然后XCode和XCode Tools也是要有的讲岁。我目前測試進(jìn)行組件化使用的是github作為我的git倉庫來測試的我擂,到時候去了公司的話直接將對應(yīng)的git倉庫地址替換一下即可。
1.創(chuàng)建好對應(yīng)的遠(yuǎn)程倉庫缓艳。
所以在公司的話校摩,應(yīng)該會有管理員創(chuàng)建好一個倉庫,要不直接使用本地倉庫阶淘,這里我選擇使用github遠(yuǎn)程的倉庫衙吩,登陸自己的github,然后創(chuàng)建一個空的repository:
取出其git地址舶治,我做測試時用的名稱是:OOListBox分井。我隨便寫的一個下拉列表的控件。
2.使用pod創(chuàng)建一個組件工程
我就直接上代碼了霉猛。
先進(jìn)入到某個想要創(chuàng)建工程的目錄尺锚,比如我cd /Users/admin/Documents/GitHub
.
然后使用pod的創(chuàng)建一個組件工程:pod lib create OOListBox
.
在創(chuàng)建的過程中,會有一個引導(dǎo)過程惜浅,就像安裝一般的軟件一樣瘫辩,反正最后按照需要創(chuàng)建就好了。比如我的:
創(chuàng)建完成之后坛悉,就會自動啟動XCode并打開對應(yīng)的項目:
然后按照自己的需要編輯好 .podspec文件和README.md文件伐厌。此時其實已經(jīng)生成好了我們的組件開發(fā)目錄結(jié)構(gòu):
其中紅色圈起來的部分,就是我們可以進(jìn)行組件化開發(fā)的目錄裸影。
3.將創(chuàng)建的好的組件項目工程提交到倉庫
pod工具創(chuàng)建好的工程里面應(yīng)設(shè)置了用git進(jìn)行管理挣轨,所以這里我們只需要把我們在第1步創(chuàng)建好的倉庫添加進(jìn)來就好了,先進(jìn)入到我們剛剛創(chuàng)建好的工程目錄,然后執(zhí)行以下命令:
#a.添加遠(yuǎn)端倉庫,其中origin這個只是一個引用名稱轩猩,根據(jù)自己的喜好設(shè)置就好了
git remote add origin https://github.com/BladeTail/OOListBox.git
#b.將所有的創(chuàng)建好的文件添加到本地倉庫需要提交的列表
git add .
#c.提交到本地倉庫
git commit -m 'Init lib project.'
#d.提交到遠(yuǎn)程倉庫master主分支卷扮,如果是其他分支,將master修改為其他分支名稱即可
git push -u origin master
其中第四步可能會出現(xiàn)意外的錯誤均践,比如:
這原本是一個初始化的過程晤锹,但是因為這個是我自己的問題,在已有的倉庫里使用其他的方式進(jìn)行過修改彤委,導(dǎo)致初始化就有問題了鞭铆。所以按照提示,我應(yīng)該先pull一下焦影,使本地倉庫和遠(yuǎn)程倉庫初始一致车遂。正常來講是不會有問題的封断,所以沒有問題的應(yīng)該像下面這樣:
結(jié)束
如此,一個組件化配置的過程就算完成了艰额,這樣的化澄港,我們創(chuàng)建好的組件就可以像正常的項目開發(fā)一項進(jìn)行開發(fā),然后在正常的項目里面使用pod進(jìn)行引用了柄沮。關(guān)于pod的使用回梧,建議參考這位小伙伴的你真的會寫Podfile嗎?.