【iOS 開發(fā)】Cocoapods 中多個本地庫相互依賴的方法

先說一下這里講的是本地庫,并不是私有庫遵馆,如果想了解 Cocoapods 公共庫或者私有庫的支持方法可以看我的另一篇文章:【iOS 開發(fā)】創(chuàng)建 podspec 文件,給自己寫的框架添加 CocoaPos 支持 敲街。

最近公司項目需要以組件化的架構(gòu)來重構(gòu)項目,就是各個模塊需要解耦拆分開來严望,利用 Cocoapods 的管理多艇,主工程只需要將各個模塊 pod install 引入即可,開始想要以私有庫的方式集成像吻,但是公司項目涉及到多個客戶定制開發(fā)峻黍,定制分支比較多,如果用私有庫方式必定要創(chuàng)建多個 Git 倉庫分開管理拨匆,這樣分支管理以及維護成本都大大提高姆涩,所以考慮采用本地庫的方式將各個模塊集成,好處是各個模塊的庫不需要打 tag 上傳至私有庫惭每,可以在主工程直接管理各個模塊的代碼骨饿,下面就記錄一下遇到的問題。


至于如何給自己的模塊代碼添加 Cocoapods 支持我這邊就不說了台腥,不會的看上面貼出來的另一篇文章即可宏赘。

假設(shè)

我的項目工程一共分為以下幾個組件:

  • 測試主工程 (TestProject)
  • 測試組件1 (TestModule1)
  • 測試組件2 (TestModule2)

然后 測試主工程 需要依賴 測試組件1 ,而 測試組件1 又需要依賴 測試組件2 黎侈,兩個組件都是以本地庫方式依賴察署,所以這里就涉及到 Cocoapods 本地庫依賴本地庫,因為是本地庫并沒有上傳峻汉,所以在 podspec 中依賴時會出現(xiàn)找不到庫的情況贴汪,下面就來說一下解決方法脐往。

相互依賴的方法

測試組件2

由于 測試組件2 并不需要任何依賴,所以 podspec 如下:

Pod::Spec.new do |s|
    s.name                      = 'TestModule2'
    s.version                   = '1.0.0'
    s.summary                   = '測試組件2'
    s.homepage                  = 'xxx'
    s.license                   = { :type => 'MIT', :file => 'LICENSE' }
    s.author                    = { 'Jonzzs' => 'xxx' }
    s.source                    = { :git => '', :tag => s.version }
    s.platform                  = :ios
    s.ios.deployment_target     = '9.0'
    s.swift_version             = '4.2'
    s.source_files              = 'TestModule2/*.swift'
end

測試組件1

由于 測試組件1 需要依賴 測試組件2 扳埂,所以需要添加 s.dependency 依賴业簿, podspec 如下:

Pod::Spec.new do |s|
    s.name                      = 'TestModule1'
    s.version                   = '1.0.0'
    s.summary                   = '測試組件1'
    s.homepage                  = 'xxx'
    s.license                   = { :type => 'MIT', :file => 'LICENSE' }
    s.author                    = { 'Jonzzs' => 'xxx' }
    s.source                    = { :git => '', :tag => s.version }
    s.platform                  = :ios
    s.ios.deployment_target     = '9.0'
    s.swift_version             = '4.2'
    s.source_files              = 'TestModule1/*.swift'

    s.dependency 'TestModule2'  # 這里需要依賴測試組件2
end

測試主工程

當(dāng)測試主工程在 podfile 集成 測試組件1測試組件2 時,一般來說聂喇,因為 TestModule1 已經(jīng)在 podspecs.dependency 依賴了 TestModule2 辖源,所以直接 pod 'TestModule1' 應(yīng)該就會自動把 TestModule2pod 下來,但是因為兩個組件都是本地庫希太,所以 cocoapods 會找不到 TestModule2 這個本地庫克饶,這時候只要在 podfile 中將 TestModule2 也指明本地地址即可,podfile 如下:

platform :ios, '9.0'
target 'TestProject' do
  use_frameworks!

  pod 'TestModule1',   :path =>'../TestModule1/'
  pod 'TestModule2',   :path =>'../TestModule2/'

end

這里將 TestModule2 的地址也指明誊辉,pod 'TestModule1' 時就不會出現(xiàn)找不到依賴的情況矾湃。


將來的你,一定會感激現(xiàn)在拼命的自己堕澄,愿自己與讀者的開發(fā)之路無限美好邀跃。

我的傳送門: 博客簡書 蛙紫、微博 拍屑、GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坑傅,一起剝皮案震驚了整個濱河市僵驰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唁毒,老刑警劉巖蒜茴,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浆西,居然都是意外死亡粉私,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門近零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诺核,“玉大人,你說我怎么就攤上這事久信≈硭玻” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵入篮,是天一觀的道長陈瘦。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么痊项? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任锅风,我火速辦了婚禮,結(jié)果婚禮上鞍泉,老公的妹妹穿的比我還像新娘皱埠。我一直安慰自己,他們只是感情好咖驮,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布边器。 她就那樣靜靜地躺著,像睡著了一般托修。 火紅的嫁衣襯著肌膚如雪忘巧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天睦刃,我揣著相機與錄音砚嘴,去河邊找鬼。 笑死涩拙,一個胖子當(dāng)著我的面吹牛际长,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播兴泥,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼工育,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搓彻?” 一聲冷哼從身側(cè)響起如绸,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎好唯,沒想到半個月后竭沫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燥翅,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡骑篙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了森书。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靶端。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凛膏,靈堂內(nèi)的尸體忽然破棺而出杨名,到底是詐尸還是另有隱情,我是刑警寧澤猖毫,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布台谍,位于F島的核電站,受9級特大地震影響吁断,放射性物質(zhì)發(fā)生泄漏趁蕊。R本人自食惡果不足惜坞生,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掷伙。 院中可真熱鬧是己,春花似錦、人聲如沸任柜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宙地。三九已至摔认,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绸栅,已是汗流浹背级野。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粹胯,地道東北人蓖柔。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像风纠,于是被迫代替她去往敵國和親况鸣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345