這里我們以我們比較常用的MJRefresh作為示例书妻。
首先來了解一下當前圖中A~G的這幾部分分別是什么。
A:
A代表的是MJRefresh的本地源碼躬拢。
B:
B代表的是躲履,MJRefresh所對應(yīng)的git的遠程公開倉庫
C:
C代表的是MJRefrsh描述文件<.podspec>,描述文件包含框架的名稱聊闯,代碼存放的遠程倉庫位置工猜,版本號,等等
主要內(nèi)容如下:
相關(guān)字段的含義可以參考CocoaPods的官網(wǎng)的<a >PodSpec語法</a>
D:
D代表的是CocoaPods的遠程spec的索引列表倉庫菱蔬,也就是說所有能夠通過CocoaPods集成到項目中的三方庫的描述文件都在這個遠程倉庫中篷帅。
CocoaPods/Specs
E:
E代表的是將D的遠程倉庫下載到本地的本地倉庫
可以隨便搜索一個三方庫,都能在Spec中找到他的所有的版本的描述
F:
F代表的就是當前我們正在寫的項目拴泌,通過配置Podfile文件進行集成相關(guān)的三方庫魏身。
G:
G的場景是這樣的,執(zhí)行pod search 某某某的時候是去查詢某一個三方庫的相關(guān)的信息蚪腐。而在你執(zhí)行這句話的時候箭昵,會在本地生成一個本地的查詢緩存。
而且在這里你可以找到你已經(jīng)安裝過的三方庫的源碼回季。
總結(jié)一下家制,我們是怎么將MJRefresh干到本地來的。
1泡一、三方庫開發(fā)者將自己的框架代碼從本地編寫完畢之后上傳到公開的倉庫中
2颤殴、三方庫開發(fā)者在本地生成一個.podspec文件,修改.podspec文件鼻忠,將框架的名稱涵但,遠程倉庫地址,版本之類的相關(guān)信息和框架一一對應(yīng)粥烁。
3贤笆、三方庫開發(fā)者將.podspec文件上傳到CocoaPods的spec遠程倉庫中。
4讨阻、開發(fā)者將CocoaPods的spec遠程倉庫同步到本地
5芥永、開發(fā)者通過對Podfile文件配置<例如:pod 'MJRefresh', '~> 3.1.12'>,進行pod install 進行安裝相關(guān)需要的三方庫钝吮。這個時候就會找到本地的spec中的相應(yīng)版本的MJRefresh.podspec文件埋涧,然后再根據(jù)MJRefresh.podspec中的相關(guān)配置進行下載配置到項目中
如有失誤請各位路過大神即時指點板辽,或有更好的做法,也請指點一二棘催,在下感激不盡劲弦。