背景
? ? ? ? ? ? 在開(kāi)發(fā)中草戈,有一些以功能區(qū)分的代碼,我們通常會(huì)封裝到一個(gè)文件夾中炕婶,以便再次遇到類似功能的時(shí)候姐赡,可以直接復(fù)用。沒(méi)了解過(guò)cocoapods私有庫(kù)的同學(xué)柠掂,可能和我一樣项滑,通過(guò)拖拽文件夾的方式引入使用。當(dāng)你了解過(guò)cocoapods私有庫(kù)的時(shí)候陪踩,你就會(huì)發(fā)現(xiàn)拖拽的方式實(shí)在太過(guò)原始了杖们。
什么是cocoapods私有庫(kù)悉抵?
? ? ? ? 我們經(jīng)常使用的AFN/Masonry等這些都是通過(guò)cocoapods管理的一些公用的第三方庫(kù),私有庫(kù)就是我們自己編寫的功能模塊摘完,當(dāng)我們?cè)趫F(tuán)隊(duì)開(kāi)發(fā)的時(shí)候姥饰,這些模塊可以在其他項(xiàng)目中使用,這就是私有庫(kù)孝治。
怎么實(shí)現(xiàn)
1列粪、首先將你的代碼上傳到github上(也可以使用其他倉(cāng)庫(kù)),具體步驟如下:
1.1在github上新建倉(cāng)庫(kù)
1.2將新建倉(cāng)庫(kù)拉去到本地谈飒,復(fù)制上面的倉(cāng)庫(kù)地址岂座,
這里使用soureTree客戶端拉去代碼
2、通過(guò)pod lib create 【你新建項(xiàng)目的名稱】創(chuàng)建一個(gè)項(xiàng)目
打開(kāi)終端:cd Desktop/[新建文件夾] ---》 pod lib create ProjectDemo
執(zhí)行完命令之后杭措,會(huì)有幾個(gè)問(wèn)題需要回答:
如果需要提供用戶名和郵箱费什,就提供你github上的用戶名和郵箱
回答完問(wèn)題之后,繼續(xù)Enter手素,創(chuàng)建項(xiàng)目成功
cd 當(dāng)上方文件中的Example文件夾下,使用pod update
接下來(lái)崩哩,我們需要先把項(xiàng)目上傳到剛才github上創(chuàng)建的倉(cāng)庫(kù)中
因?yàn)榍懊嬉呀?jīng)使用SourceTree將倉(cāng)庫(kù)拉到本地桌面了巡球,所以,直接將以下幾個(gè)文件拖入倉(cāng)庫(kù)文件夾中
說(shuō)明:因?yàn)槭褂胮od lib create創(chuàng)建項(xiàng)目的時(shí)候邓嘹,當(dāng)前文件夾中已經(jīng)有了.git和.gitignore文件酣栈,這說(shuō)明已經(jīng)在一個(gè)git管理的倉(cāng)庫(kù)中,我們?nèi)绻胍獙㈨?xiàng)目重新移植到另外一個(gè)倉(cāng)庫(kù)中汹押,就必須把.項(xiàng)目自帶的倉(cāng)庫(kù)移除钉嘹,所以只導(dǎo)入上面幾個(gè)文件。
接下來(lái)跋涣,需要把導(dǎo)入的文件上傳到github遠(yuǎn)程
打開(kāi)SourceTree,你會(huì)發(fā)現(xiàn)鸟悴,剛才導(dǎo)入的文件已經(jīng)在了陈辱,只需要Commit以下,就可以了细诸。
上傳成功之后,編輯上方的ProjectDemo.podspec沛贪,這里可以使用終端的 vim ProjectDemo.podspec打開(kāi)
然后 再進(jìn)入 Example文件夾中,打開(kāi)Podfile文件做如下修改
修改完成之后,再次執(zhí)行pod update
這個(gè)時(shí)候利赋,你導(dǎo)入的那個(gè)YubaXXRNMainVC文件夾水评,就會(huì)像AFNetworking倉(cāng)庫(kù)一樣,出現(xiàn)在Pods文件路徑下媚送,在項(xiàng)目中直接import 文件夾/文件名.h即可中燥。