iOS 私有庫搭建

開始之前,先介紹一下私有庫的組成(個人理解),按順序看比較好理解。

  • 代碼倉庫。即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文件夾下

然后打開終端cdExample文件加下,執(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)

遇到問題

查看

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容