組件化之私有庫制作

公司的新項目多的不可思議,急需組件化支持我們模塊組裝生成新的App,記錄一下私有庫的制作方法,如有錯誤還請大家?guī)椭赋?/p>

1,先創(chuàng)建一個遠程的spec索引倉庫

我的索引倉庫名為mylib4RepoSpec,github上的創(chuàng)建過程略,然后clone到本地,添加你編輯好的spec文件,后續(xù)會講到這個文件


image.png

這這個倉庫主要是存放我們?nèi)蘸笠S護的所有組件的索引文件.spec

2,創(chuàng)建一個組件代碼倉庫

  • 2.1 遠程代碼倉庫


    image.png
  • 2.2 克隆到本地
git clone https://github.com/tianyang828/mylib4.git

在倉庫路徑下,生成.podspec文件,使用命令:

pod spec create mylib4.spec
  • 2.3 編輯podspec文件,填寫私有庫相關(guān)信息,顧名思義,不細說


    image.png
  • 2.4 然后添加你的組件代碼,放在Classes文件夾下,demo下存放的是你的示例工程,可選擇是否添加


    image.png
  • 2.5 把本地組件代碼推到遠端,并打個標(biāo)簽

git add .
git git commit -m '第一次提交'
git pull
git push
//注意tag和podspec文件里的s.version一樣
git tag "0.0.1"
git push —tags
  • 2.6 驗證上一步編輯的 .podspec文件是否有錯,出錯的話根據(jù)提示自行修改,在podspec文件所在目錄下執(zhí)行命令:
    注:
    (1) - -verbose:表示顯示全部的日志信息,建議加上這個,方便判斷錯誤信息;
    (2) - -sources:如果我們在podspec里面依賴到一些私有的庫之后,直接進行校驗是會報錯的提示找不到,這里可以加上Spec倉庫的地址告訴CocoaPods找不到的時候去哪里找;
    (3) - -allow-warnings:表示允許警告;
    (4) - -use-libraries:表示使用靜態(tài)庫或者是framework,這里主要是解決當(dāng)我們依賴一些framework庫后校驗提示找不到庫的時候用到。
pod lib lint --allow-warnings
  • 2.7創(chuàng)建私有的索引庫Spec Repo:
    pod repo add “自定義名” “spec索引倉庫地址” (文章開始創(chuàng)建的索引庫地址)
    這一步做的其實是創(chuàng)建的工作,也就是在 ~/.cocoapods/repo 目錄下添加了一個以你的私有 repo 為名的文件夾,但是并沒有添加 spec 文件。
    pod repo push xxxx.podspec
    這個命令執(zhí)行之后,本地和遠端的~/.cocoapods/repo都會發(fā)生變化,.pec已經(jīng)添加進去
pod repo add mylib4 https://github.com/tianyang828/mylib4RepoSpec.git 
pod repo push mylib4 mylib4.podspec --allow-warnings 

打開本地cocopods倉庫,查看本地repo庫(會包含mylib4庫):

open ~/.cocoapods/repos/
image.png

查詢本地是否有對應(yīng)的項目庫

pod search mylib4

查看本地pod索引庫

pod repo

3 在項目中使用,編輯podfile

image.png

4 更新維護,重新提交代碼,修改spec文件描述并提交

1.重新提交代碼:
git add .
git commit -m ‘更新了***’
git push origin master

2.打tag,同時改spec描述文件:
git tag 0.0.2
git push –tags

3.更新spec文件到索引庫
pod repo add mylib4 https://github.com/tianyang828/mylib4RepoSpec.git
pod repo push mylib4 mylib4.podspec --allow-warnings

  • 其他問題及擴展:
    1.也有使用如下命令的方式創(chuàng)建項目的
pod lib create mylib5

2.pod repo push 失敗可能原因,github的主分支由master變成了main,pod在推送到遠端索引時可能出錯,所以可以在創(chuàng)建遠端倉庫的時候,把主分支名字改為master


image.png
image.png

創(chuàng)建帶示例工程的spec 文件夾 pod lib create HTCourseDownloadLib
刷新本地索引 pod repo update /Users/XXXX/.cocoapods/repos/huatuop-open-ios1-htpodspecs
git remote add origin git@gitlab.XXXX.com:open-ios1/HTCourseDownloadLib.git
git push origin master

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

相關(guān)閱讀更多精彩內(nèi)容

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