在svn托管上制作cocoapods私有倉(cāng)庫(kù)管理2018版

原創(chuàng)博客地址,歡迎來搞?。。?/a>

通常,我們都是用git來管理倉(cāng)庫(kù),常見的就是在github上制作pod庫(kù),當(dāng)然,在github上只有公共庫(kù)是免費(fèi)的,私有倉(cāng)庫(kù)是收費(fèi)的,而gitlab是可以免費(fèi)使用私有pod庫(kù)(不只有g(shù)ithub,還有g(shù)itlab,分清楚,,,),由于公司項(xiàng)目是使用svn托管,所以筆者在這里,希望把pod庫(kù)托管在公司的svn服務(wù)器上,而cocoapods是支持svn的,所以,來吧,搞起,不廢話!

1.1 準(zhǔn)備工具

需要svn,cocoapods,cocoapods-repo-svn 。

svn:mac上推薦使用cornerstone可視化界面工具

cocoapods:讀者自己去安裝,ios開發(fā)使用到的三方管理庫(kù)

cocoapods-repo-svn:cocoapods的svn管理插件

我就從 cocoapods-repo-svn 說起,開始下面...

1.2 cocoapods-repo-svn

roguedeMacBook-Pro:~ rogue$ gem install cocoapods-repo-svn
然后安裝成功完畢!

1.3 在svn上創(chuàng)建私有庫(kù)

在cornerstone創(chuàng)建一系列文件夾,先看圖片

image

我來解釋一下(以下目錄分為手動(dòng)創(chuàng)建和自動(dòng)創(chuàng)建,手動(dòng)使用 ++ 表示,自動(dòng)用==表示):

XhlLibraries(++:一級(jí)目錄)

  • XhlProjects(++:存儲(chǔ)執(zhí)行代碼文件,就是存放我們pod下來之后可見的.h/m文件)
    • XhlLocalTool(++:創(chuàng)建的一個(gè)庫(kù)文件,類似于AFNetworking,MBProgressHUD)
      • branches(==:分支)
      • tags(==:標(biāo)記)
      • trunk(==:主干)
  • XhlSpecs(++:存儲(chǔ)各個(gè)版本,我們pod可以指定不同的版本,pod 'MBProgressHUD', '~> 1.1.0',類似這個(gè))

看見上面這個(gè)結(jié)構(gòu)了嗎,請(qǐng)結(jié)合這個(gè)圖查看,當(dāng)手動(dòng)創(chuàng)建了XhlLocalTool之后,需要勾選cornerstone上的這個(gè)按鈕,讓它自動(dòng)創(chuàng)建trunk、branches、tags這3個(gè)文件夾

image

分割線------------------------------------------------------------------------------------------

現(xiàn)在,我們繼續(xù),把這個(gè)文件check out出來在本地。

XhlLibraries->XhlProjects->trunk

檢出之后,我們打開終端,把目錄切換在trunk文件文件夾所在的根目錄

在trunk目錄下,命令操作

roguedeMacBook-Pro:~ rogue$ pod spec create XhlSpecs

該命令會(huì)創(chuàng)建一個(gè) XhlSpecs.podspec文件,這個(gè)文件很重要

接下來,我們手動(dòng)穿件一個(gè)項(xiàng)目和一個(gè)文件夾,最后的目錄結(jié)構(gòu)如下圖

image

我來解釋下,在命令行操作之后,只會(huì)有一個(gè)文件,就是 XhlLocalTool.podspec文件,而其他的 "XhlLocalToolDemo"和"XhlLocalToolDemo.xcodeproj"是我剛創(chuàng)建的一個(gè)工程文件,而文件夾"XhlLocalTool"也是我新創(chuàng)建的一個(gè)文件夾,里面的"XhlObject.h/m"文件,則是我創(chuàng)建的私有文件,就是說,pod install之后,會(huì)導(dǎo)入這兩個(gè)文件到被依賴的項(xiàng)目里,

這里配置XhlLocalTool.podspec文件

大家可以把我的這個(gè)寫法配置進(jìn)去,不過要修改4個(gè)地方

接下來,就是用cornerstone進(jìn)行commit操作,把剛才的代碼,提交到服務(wù)器上?。?!

image

1.4 打標(biāo)簽 tag

現(xiàn)在,在svn服務(wù)器上,可以查看到我們剛才commit的代碼,因?yàn)槲覀兪窃趖runk下操作的,現(xiàn)在,我們需要打標(biāo)簽,所以打標(biāo)簽,就是選中 右鍵選中trunk->tag->輸入版本,版本就是我們剛才提交的s.version

接下來,看圖

image

看 "0.0.4",我們剛才打的標(biāo)簽(0.0.1、0.0.2、0.0.3讀者不用關(guān)心,是筆者打的歷史版本)

打了標(biāo)簽之后,我們驗(yàn)證是否通過,給出以下測(cè)試代碼

在trunk目錄下

出現(xiàn)最后一行的

就表示成功了,通過驗(yàn)證

1.5 創(chuàng)建私有庫(kù)

還是在trunk目錄下,執(zhí)行命令

注意這里,路徑是 XhlSpecs,不是XhlProjects

執(zhí)行完這上面的代碼,再執(zhí)行下面的方法,把trunk里的代碼commit到XhlSpecs下

上面的命令執(zhí)行完成之后,刷新下svn,可以看到以下的目錄,在XhlSpecs里,會(huì)有版本號(hào)

image

**1.6 podfile配置 **

好了,到這里,就算完了,最后就講解下如何配置我們的podfile文件,我再這里直接貼出代碼吧,比較簡(jiǎn)單

當(dāng)然,別人要使用你的私有庫(kù),也需要配置 cocoapods-repo-svn 插件。而且,必須要求在終端上登錄賬號(hào),不然會(huì)提示安裝私有庫(kù)沒有權(quán)限,如何登錄svn,只需要隨便登錄一個(gè)svn查看文件就可以了

roguedeMacBook-Pro:~ rogue$ svn ls svn://xxx/xxx/xxx/xxx

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

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

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