私有庫(kù)的搭建腾它,可以方便的為我們的工程進(jìn)行功能性解耦,模塊化開發(fā)提供了很大的便利套利,根據(jù)實(shí)際項(xiàng)目體驗(yàn)下來(lái)推励,使用CocoaPods來(lái)進(jìn)行代碼的模塊化鹤耍,非常的實(shí)用跟方便,而且搭建私有的CocoaPods庫(kù)验辞,那么相對(duì)來(lái)說(shuō)稿黄,代碼的安全性也有了保障。
目前自己所在的公司跌造,因?yàn)轫?xiàng)目需要杆怕,也一手搭建了自己的CocoaPods的私有庫(kù),而且給多個(gè)客戶端進(jìn)行使用壳贪。結(jié)合實(shí)際使用體驗(yàn)陵珍,然后分享下過(guò)程。
這個(gè)過(guò)程可能是個(gè)人精簡(jiǎn)下來(lái)最簡(jiǎn)單的一個(gè)流程违施,很多細(xì)節(jié)可能都不考慮互纯,直接流程就是
前期準(zhǔn)備—>搭建必要內(nèi)容—>創(chuàng)建私有庫(kù)—>提交私有庫(kù)—>使用私有庫(kù)
搭建CocoaPods私有庫(kù)前期準(zhǔn)備2個(gè)步驟。
1磕蒲、已經(jīng)搭建好的私有的git服務(wù)器留潦。
2、已經(jīng)安裝CocoaPods工具辣往。
上面2個(gè)必要條件兔院,如果不知道怎么操作,可以自行進(jìn)行百度站削,其實(shí)比較簡(jiǎn)單的坊萝。
接下來(lái)就是一系列官網(wǎng)操作以及結(jié)合個(gè)人的實(shí)際操作。
1、創(chuàng)建pod Repo的git倉(cāng)庫(kù)屹堰。(創(chuàng)建一個(gè)git倉(cāng)庫(kù)肛冶,倉(cāng)庫(kù)命名建議Spec結(jié)尾,如這里的SZSpec)
1.1 創(chuàng)建好之后扯键,地址為http://gitlab.i.sz.com/front-all/SZSpec.git
1.2 為了隱私睦袖,這個(gè)git地址只是為了方便展示用的假地址。
2荣刑、增加本地 pod spec(增加pod的資源的來(lái)源)
2.1 將git地址復(fù)制出來(lái)馅笙,
2.2 打開命令行 輸入
pod repo add NoahSpec http://gitlab.i.sz.com/front-all/SZSpec.git
- 2.3 打開命令行 輸入
pod repo list
可以看到你目前的pod有幾個(gè)資源地址,剛剛加進(jìn)去的厉亏,也能查看到董习。
更多pod repo命令可以自行查看
3、創(chuàng)建你私有庫(kù)的git倉(cāng)庫(kù)爱只。(創(chuàng)建一個(gè)git倉(cāng)庫(kù)皿淋,命名就可以是你的想要庫(kù)的命名,這里命名SZSDK)
- 3.1將git庫(kù)拉到本地你喜歡的位置恬试,桌面窝趣,文稿,或是其他位置训柴。
假設(shè)目前這個(gè)庫(kù)的git地址為 http://gitlab.i.sz.com/front-all/SZSDK.git
4哑舒、創(chuàng)建庫(kù)工程
- 4.1打開命令行 輸入
cd 到剛剛拉下來(lái)的git倉(cāng)庫(kù)的文件夾位置S
pod lib create SZSDK
5、至此幻馁,你的私有庫(kù)工程已經(jīng)建立完畢洗鸵,工程目錄文件是這樣的
- 5.1簡(jiǎn)單的介紹下各位文件路徑的說(shuō)明
Example 樣例工程,你的私有庫(kù)可以通過(guò)這個(gè)工程進(jìn)行調(diào)試仗嗦,運(yùn)行膘滨。
Assets 這個(gè)文件夾主要放你私有庫(kù)的資源文件,圖片稀拐,xib等火邓。
Classes 這個(gè)文件夾就是放你私有庫(kù)的.h.m等代碼文件。
SDSDK.podspec 這個(gè)就是你私有庫(kù)的配置文件钩蚊,這個(gè)后面會(huì)詳細(xì)講解贡翘。
6、打開樣例工程SZSDK.xcworkspace
- 6.1工程結(jié)構(gòu)如圖所示砰逻,大致說(shuō)明一下里面幾個(gè)重要文件
SZSDK.podspec 這個(gè)就是你私有庫(kù)的pod配置文件鸣驱,里面每個(gè)字段的含義其實(shí)很好理解。
目前你只需修改s.version 和 s.source,
s.version = '0.1.0'
s.source = { :git => 'https://github.com/johnson/SZSDK.git', :tag => s.version.to_s }
其余字段可以不動(dòng)蝠咆,你也可以查詢官網(wǎng)踊东,了解每個(gè)字段的含義北滥。
README.md 這個(gè)就是你私有庫(kù)SZSDK.git網(wǎng)址首頁(yè)的說(shuō)明文案,用的markdown語(yǔ)法闸翅。
Pods工程中 SZSDK文件夾下面的ReplaceMe.m文件再芋,是個(gè)空文件,意思很明確坚冀,叫您更換它济赎。
這個(gè)文件夾下,你就可以自己添加你的私有庫(kù)的文件夾和文件记某,你可以在這個(gè)里面新建內(nèi)容司训,但是注意根據(jù)資源還是代碼文件,放置到相應(yīng)的文件夾內(nèi)液南。
比如這邊我新增加2個(gè)文件和1張圖片壳猜。
圖片資源的話,建議先放到Assets文件夾中滑凉,然后再拖入工程
7统扳、假設(shè)SZObjc和這張圖片就是你的私有庫(kù)內(nèi)容,那么接下來(lái)畅姊,還是修改SZSDK.podspec內(nèi)容
8咒钟、私有庫(kù)工程的修改到這就完全完成了。然后將SZSDK推送到git遠(yuǎn)端涡匀。并且打上Tag,Tag要跟剛剛
SZSDK.podspec中的s.version值保持一致盯腌,這里我們tag就打成0.1.0溉知,注意這里打Tag很重要陨瘩,千萬(wàn)不要弄錯(cuò)。
9级乍、向Pod 推送你的私有庫(kù)
- 9.1 打開命令行
cd 到 SZSDK.podspec的目錄
- 9.2 輸入
pod repo push NoahSpec SZSDK.podspec --allow-warnings --skip-import-validation --use-libraries
- 9.3這里可能會(huì)遇到git推送需要輸入密碼舌劳,如果你是ssh驗(yàn)證git的話,應(yīng)該就沒有這個(gè)問(wèn)題玫荣。
10甚淡、推送成功后,可以到SZSpec 的git倉(cāng)庫(kù)查看捅厂,會(huì)有一條更新贯卦,這就證明你的私有庫(kù)已經(jīng)發(fā)布成功了。
11焙贷、進(jìn)行使用
- 11.1 新建一個(gè)Xcode工程撵割,或是打開你的任意工程,創(chuàng)建或是修改現(xiàn)有的podfile文件
- 11.2 進(jìn)行正常的pod install辙芍,通過(guò)import便可進(jìn)行你的私有庫(kù)使用了啡彬。
這可能是最簡(jiǎn)單羹与,最快速的CocoaPods私有庫(kù)搭建,每步都是必須步驟庶灿,沒有任何一步是多余的纵搁,按照步驟,你可以以最快的速度往踢,創(chuàng)建你的私有庫(kù)和進(jìn)行使用腾誉,至于其中引申的東西,或是podspec中的詳細(xì)設(shè)置峻呕,你可以參考官網(wǎng)妄辩,一邊做一邊學(xué)。
更多詳細(xì)信息可以訪問(wèn)官網(wǎng)
https://cocoapods.org