使用CocoaPods和svn共同管理依賴庫(kù)

我們?cè)陂_(kāi)發(fā)過(guò)程中經(jīng)常會(huì)需要依賴第三方庫(kù)或我們自己的私有庫(kù)(本地庫(kù))为严,關(guān)于依賴第三方庫(kù)和Cocoapods的使用這里就不做贅述了,大家可以看唐巧的《用CocoaPods做iOS程序的依賴管理》這篇文章腻异,我這里只記錄我使用CocoaPods和svn共同管理私有庫(kù)的過(guò)程夷野,svn管理工具我使用的是Cornerstone征堪。

接下來(lái)我將描述如何使用CocoaPods和svn共同管理依賴庫(kù)

操作說(shuō)明

  1. 創(chuàng)建一個(gè)框架命名為QHLUtil管毙,再添加一些自己需要的類到QHLUtil中,編譯順利完成后米酬,使用Cornerstone將QHLUtil項(xiàng)目導(dǎo)入已創(chuàng)建的文件目錄下沛豌,結(jié)果如圖:


    2017-03-18-1.png
  2. 打開(kāi)終端,執(zhí)行
    cd ~/Documents/ProjectManagerTest/QHLUtil
    ~/Documents/ProjectManagerTest/QHLUtil這是我創(chuàng)建項(xiàng)目的路徑赃额,根據(jù)你創(chuàng)建項(xiàng)目的路徑進(jìn)行修改

  3. 創(chuàng)建項(xiàng)目的podspec文件琼懊,執(zhí)行
    pod spec create QHLUtil
    創(chuàng)建成功后終端顯示Specification created at QHLUtil.podspec

  4. 編輯QHLUtil.podspec,執(zhí)行
    vim QHLUtil.podspec
    編輯相關(guān)信息爬早,我信息內(nèi)容如下:
    Pod::Spec.new do |s|
    s.name = "QHLUtil"
    s.version = "0.0.1"
    s.summary = "工具類"
    s.description = <<-DESC
    "工具類"
    DESC

     s.homepage     = "https://lkxiluo.github.io/"
     s.license      = "MIT"
     s.author       = { "Qianhan" => "https://lkxiluo.github.io/" }
     s.platform     = :ios, "8.0"
     s.ios.deployment_target = "8.0"
     s.source       = { :svn => "svn://192.168.6.5:9600/wzhouhui/app/ios/ProjectManagerTest/QHLUtil", :tag => "#{s.version}" }
     s.source_files  = "QHLUtil", "QHLUtil/**/*.{h,m}"
     s.exclude_files = "QHLUtil/Exclude"
     s.frameworks = "UIKit", "Foundation"
    

關(guān)于.podspec文件內(nèi)容各個(gè)字段的代表的意思這里就不描述了哼丈,大家可以看這篇文章
保存退出,將QHLUtil.podspec文件同步到svn上

  1. 創(chuàng)建測(cè)試項(xiàng)目ProjectManagerDemo筛严,執(zhí)行
    cd /Users/karl.luo/Documents/ProjectManagerTest/ProjectManagerDemo
    到你創(chuàng)建的項(xiàng)目文件目錄下醉旦,這里的命令根據(jù)你的項(xiàng)目路徑做改變

  2. 創(chuàng)建Podfile文件,執(zhí)行
    vim Podfile
    編輯Podfile文件內(nèi)容如下
    platform:ios, '8.0'

     target:ProjectManagerDemo do
    
     pod 'QHLUtil', :svn=>'svn://192.168.6.5:9600/wzhouhui/app/ios/ProjectManagerTest/QHLUtil'
    
     end
    

svn://192.168.6.5:9600/wzhouhui/app/ios/ProjectManagerTest/QHLUtil為你私有庫(kù)文件目錄

  1. 建立依賴關(guān)系,這里有兩種情況

a. 直接執(zhí)行命令
pod install
完成依賴關(guān)聯(lián)
b. 根據(jù)版本進(jìn)行管理
進(jìn)入QHLUtil文件目錄车胡,創(chuàng)建名為tags的文件檬输,如圖:

2017-03-18-2.png

將tags文件夾同步到svn,打開(kāi)Cornerstone匈棘,右擊QHLUtil項(xiàng)目丧慈,創(chuàng)建改項(xiàng)目的一個(gè)版本tag,如圖:
2017-03-18-3.png

填寫tag的信息
2017-03-18-4.png

Tag信息說(shuō)明:
Tag As為版本號(hào)主卫,將與QHLUtil.podspec文件中的s.version= "0.0.1"相同
Where為保存路徑逃默,保存在剛才創(chuàng)建的tags文件夾下,此目錄要正確簇搅,因?yàn)殛P(guān)聯(lián)時(shí)獲取資源就是根據(jù)s.source= { :svn => "svn://192.168.6.5:9600/wzhouhui/app/ios/ProjectManagerTest/QHLUtil", :tag => "#{s.version}" }索引的完域,如果錯(cuò)了見(jiàn)找不到資源
Revision為svn上代碼的提交版本
點(diǎn)擊“Create Tag”創(chuàng)建完成,此時(shí)瘩将,Cornerstone中項(xiàng)目的目錄結(jié)構(gòu)將如圖所示:
2017-03-18-5.png

編輯QHLUtil.podspec文件(步驟同上),將s.version值設(shè)置為剛才創(chuàng)建的Tag As號(hào)吟税,當(dāng)有多個(gè)tag時(shí),設(shè)置為你要選擇的版本號(hào)姿现,保存退出編輯
執(zhí)行
pod spec lint QHLUtil.podspec --allow-warnings
檢查信息是否有錯(cuò)肠仪,如果成功,來(lái)到ProjectManagerDemo目錄备典,執(zhí)行
pod install

  1. 更新新庫(kù)藤韵,需要更新依賴庫(kù)時(shí),編輯QHLUtil.podspec文件中s.version設(shè)置為要依賴的庫(kù)熊经,執(zhí)行
    pod update
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市欲险,隨后出現(xiàn)的幾起案子镐依,更是在濱河造成了極大的恐慌,老刑警劉巖天试,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件槐壳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡喜每,警方通過(guò)查閱死者的電腦和手機(jī)务唐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)带兜,“玉大人枫笛,你說(shuō)我怎么就攤上這事「照眨” “怎么了刑巧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我啊楚,道長(zhǎng)吠冤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任恭理,我火速辦了婚禮拯辙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颜价。我一直安慰自己涯保,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布拍嵌。 她就那樣靜靜地躺著遭赂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪横辆。 梳的紋絲不亂的頭發(fā)上撇他,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音狈蚤,去河邊找鬼困肩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脆侮,可吹牛的內(nèi)容都是我干的锌畸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼靖避,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼潭枣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起幻捏,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盆犁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后篡九,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谐岁,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年榛臼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伊佃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沛善,死狀恐怖航揉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情金刁,我是刑警寧澤迷捧,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布织咧,位于F島的核電站,受9級(jí)特大地震影響漠秋,放射性物質(zhì)發(fā)生泄漏笙蒙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一庆锦、第九天 我趴在偏房一處隱蔽的房頂上張望捅位。 院中可真熱鬧,春花似錦搂抒、人聲如沸艇搀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)焰雕。三九已至,卻和暖如春芳杏,著一層夾襖步出監(jiān)牢的瞬間矩屁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工爵赵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吝秕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓空幻,卻偏偏與公主長(zhǎng)得像烁峭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秕铛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 項(xiàng)目組件化约郁、平臺(tái)化是技術(shù)公司的共同目標(biāo),越來(lái)越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件但两,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,750評(píng)論 0 39
  • 引言:本文主要介紹了iOS私有庫(kù)的三種管理方式鬓梅。在多產(chǎn)品線的情況下,包括業(yè)務(wù)層镜遣、自定義的控件、自定義的工具類士袄,如日...
    Uncle_fs閱讀 1,277評(píng)論 0 3
  • Cocoapods是非常好用的一個(gè)iOS依賴管理工具悲关,使用它可以方便的管理和更新項(xiàng)目中所使用到的第三方庫(kù),以及將自...
    Nash33閱讀 2,084評(píng)論 0 50
  • 在上篇文章CocoaPods與SVN的配合使用(一)中我們使用CocoaPods制作了基于SVN地址的開(kāi)發(fā)庫(kù)娄柳,然后...
    稀飯貓_26e6閱讀 1,525評(píng)論 2 4
  • 人從出生來(lái)到世上寓辱,就注定是匆忙勞累的一生。不論你是生在富貴人家赤拒,還是平民之家秫筏,都必須面對(duì)成長(zhǎng)诱鞠,做人,做事这敬,生老病死...
    門前池塘閱讀 387評(píng)論 0 0