Pod私有庫(kù)搭建
1、申請(qǐng)私有索引庫(kù)項(xiàng)目權(quán)限:
https://gitlab.pengpengla.com/pengpengios/podspec
2、權(quán)限申請(qǐng)成功后舔腾,將索引庫(kù)clone到本地
pod repo add pengpengios https://gitlab.pengpengla.com/pengpengios/podspec.git
之后會(huì)在本地目錄/Users/用戶名/.cocoapods下出現(xiàn)一個(gè)新的文件夾pengpengios(即上述pod命令ad d后自定義的名字)岛杀。此文件夾下用于存放此索引庫(kù)下的全部私有庫(kù)的podspec文件。
3壶唤、私有庫(kù)搭建
切換到自己盛放項(xiàng)目的文件目錄下雳灵,創(chuàng)建私有庫(kù):
pod lib create HNMacroConst
執(zhí)行上述命令創(chuàng)建私有庫(kù)過(guò)程中會(huì)要求回答幾個(gè)問(wèn)題,如圖:
根據(jù)自己的需要輸入選項(xiàng)回車(chē)?yán)^續(xù)執(zhí)行即可闸盔。
執(zhí)行完畢后私有庫(kù)項(xiàng)目即創(chuàng)建成功悯辙,結(jié)構(gòu)如下:
可在Example下直接打開(kāi)項(xiàng)目。Classes即私有庫(kù)的代碼文件迎吵。
4躲撰、將自己的代碼文件拷貝到Classes文件夾下,然后命令行切到Example目錄下击费,執(zhí)行pod update命令拢蛋,上述代碼文件即成功更新到Example下的示例項(xiàng)目中。
gi
5蔫巩、關(guān)聯(lián)私有遠(yuǎn)程庫(kù)
5.1谆棱、gitlab創(chuàng)建倉(cāng)庫(kù)
5.2、回到上述工程的根目錄下圆仔,git remote add origin URL 關(guān)聯(lián)并push項(xiàng)目到gitlab倉(cāng)庫(kù)垃瞧,此處過(guò)程省略。
6荧缘、驗(yàn)證podspec
6.1皆警、首先要給我們的私有庫(kù)打上tag
git tag 1.0.0
git push --tags
6.2、修改podspec配置截粗,將homepage和source源修改為我們自己的倉(cāng)庫(kù)地址
6.3信姓、設(shè)置完成后執(zhí)行:
//本地
pod spec lint --allow-warnings //遠(yuǎn)程
如果輸出HNMacroConst passed validation.則驗(yàn)證通過(guò)
如果未驗(yàn)證通過(guò)請(qǐng)
1.如果有引用其它私有庫(kù)需要在后面加上私有庫(kù)的源地址 --sources=https://xxxx
2.檢查T(mén)ag是否匹配鸵隧,是否上傳
引用靜態(tài)庫(kù)報(bào)錯(cuò)
ERROR | [iOS] unknown: Encountered an unknown error (The 'Pods-App' target has transitive dependencies that include statically linked binaries:
添加? --use-libraries
如:pod spec lint --allow-warnings --use-libraries
6.4、將修改提交到倉(cāng)庫(kù)
7意推、加入索引庫(kù)
pod repo push pengpengios HNMacroConst.podspec --allow-warnings
如果有依賴其他私有庫(kù)豆瘫,要在后面添加源地址,多個(gè)以英文逗號(hào)分隔開(kāi)
pod repo push pengpengios HNMacroConst.podspec --allow-warnings --sources=https://xxxx.xx,https://xxooxxoo
此步驟是將我們的私有庫(kù)加到我們公共的私有索引庫(kù)中菊值,上述命令的pengpengios為第二步自定義的索引庫(kù)本地名外驱,tage.podspec為我們上述私有庫(kù)的podspec文件。
執(zhí)行上述命令后腻窒,在.cocoapods/repos/pengpengios文件夾下會(huì)出現(xiàn)HNMacroConst文件夾及對(duì)應(yīng)的tag:
8昵宇、其他項(xiàng)目引用
首先需要增加索引源,即https://gitlab.pengpengla.com/pengpengios/podspec.git
之后就可以pod install使用了
But!!!
最后還有非常重要的一點(diǎn)儿子,以上自己創(chuàng)建私有庫(kù)倉(cāng)庫(kù)權(quán)限請(qǐng)給相關(guān)人員(包括要引用此庫(kù)的人員)瓦哎,否則他人pod install會(huì)失敗。
同時(shí)柔逼,他人在pod引入倉(cāng)庫(kù)時(shí)蒋譬,要記得先執(zhí)行下面的命令,更新下本地的索引庫(kù):
pod repo update
9愉适、后期更新私有庫(kù)
在私有庫(kù)更新的需求開(kāi)發(fā)完成后犯助,需要對(duì)應(yīng)的調(diào)整podspec文件的s.version版本號(hào),提交更新后需要再根據(jù)version打上對(duì)應(yīng)的tag標(biāo)簽维咸,pod spec lint 后push到倉(cāng)庫(kù)剂买,其他人需要執(zhí)行pod repo update后就可以更新到此版本(本人除外)。