開始之前,先介紹一下私有庫的組成(個人理解),按順序看比較好理解。
代碼倉庫。即git地址,
組件完整代碼的存放地址,如github、gitlab等遠程倉庫。即組件
.podspec文件在github/gitlab中的存放地址,以便提供給其他開發(fā)使用本地倉庫。即組件
.podspec文件在本地的存放地址。.podspec文件我理解為索引,它包含組件的詳細信息,如代碼地址、版本號、主頁、以及它的依賴等等。
先看一下.podspec文件是什么?打開~/.cocoapods/repos(此文件為隱藏文件)如圖:

在你沒有引入其它組件庫的情況下只有master、Spec_Lock和trunk組成,這里因為我使用了阿里百川組件,所以多了一個aliyun的文件夾,將來這里也會加入你自己的組件庫,以上圖圖組件為例,這里只存放組件的.podspec文件,而不是完整代碼,你可以打開某一個文件看下里面的內(nèi)容,可以更好理解之后的內(nèi)容。
一個完整的流程大致上如下圖:

下面正式開始私有庫的搭建(文章內(nèi)容已github為例):
第一步、創(chuàng)建遠程倉庫
打開github或者gitlab,新建一個project。很簡單的操作,略過!
第二步、創(chuàng)建本地倉庫
pod repo add mySpecs https://github.com/*****/MySpecs
其中mySpecs自己命名,命名規(guī)則隨意,自己理解即可,后面的地址為遠程倉庫地址。
執(zhí)行完打開文件~/.cocoapods/repos,可以看到多了一個mySpecs的文件夾,這就是你的本地組件倉庫。
第三步、創(chuàng)建代碼倉庫
再次新建一個project,用于組件完整代碼提交
第四步、組件開發(fā)
4.1、創(chuàng)建組件工程
打開終端,執(zhí)行:
pod lib create MyImageView
這里我默認創(chuàng)建在用戶目錄下了,實際開發(fā)中你可以自定義一個文件夾,cd到此文件夾下,再執(zhí)行上面的命令
只有會有幾個很簡單的問題,按提示回答即可。這里一般我都會包含一個demo工程,方便使用者快速接入。
打開剛剛創(chuàng)建的工程,如圖:

4.2、添加組件代碼
刪除上一步Classes文件夾下ReplaceMe.m,將已經(jīng)開發(fā)完成的組件代碼,拖入到Classes文件夾下
然后打開終端cd到Example文件加下,執(zhí)行pod install
執(zhí)行完成之后,打開Example工程,添加調(diào)試代碼,確認沒問題之后執(zhí)行下一步
4.3、編輯.podspec文件
終于輪到主角登場了,這個文件之前就有提到過,里面包含組件的基本信息:名稱、版本、代碼地址、依賴信息等,如圖:

如果組件沒有別的依賴、圖片資源等只需要填寫上面圈出的基本信息即可,確認填寫信息無誤,進入下一步
4.4、將組件代碼提交到遠程代碼倉庫
提交很簡單的吧,會的跳過即可,這里主要是要打上tag,tag要與組件的版本號一致:
打開終端,cd至組件根目錄
cd ~/MyImageView
git remote add origin 代碼的git地址
git add .
git commit -m "提交描述信息"
git push -u origin master
git tag 0.0.1
git push origin 0.0.1
4.5、私有庫驗證
打開終端,cd至組件根目錄
cd ~/MyImageView
pod lib lint --allow-warnings
時間有點久,耐心等待......
提示綠色的**** passed validation表示成功
繼續(xù)執(zhí)行:
pod spec lint --allow-warnings
兩次驗證都成功,進入下一步
4.6、將私有庫推送到本地倉庫和遠程倉庫
打開終端,cd至組件根目錄
cd ~/MyImageView
pod repo push mySpecs MyImageView.podspec --allow-warnings
成功之后你可以打開~/.cocoapods/repos,查看自己的組件是否添加到組件庫內(nèi)