創(chuàng)建自己的Cocoapods

首先我們來想一下Cocoapods的工作邏輯晦墙。
Podfile中的默認(rèn)source為https://github.com/CocoaPods/Specs.git肴茄,這便是一個Spec repo,也就是Pod的索引寡痰,pod update的時候會去這個repo中進(jìn)行檢索棋凳,如果檢索到這個pod连躏,便會去對應(yīng)Pod的podspec中讀取對應(yīng)的路徑下載安裝。

接下來想想我們要做什么拍棕,首先我們需要建立一個遠(yuǎn)程倉庫作為Spec repo勺良,這里建立一個倉庫叫做CYRepo,然后我們再建立一個Pod庫CYKit尚困,并將這個Pod庫與CYRepo關(guān)聯(lián)起來,最后我們便可以pod install我們對應(yīng)的項(xiàng)目了谬泌。

最后完成的目錄結(jié)構(gòu)如圖所示:

image.png

一讳侨、創(chuàng)建我們的索引倉庫奏属。

我們在自己的gitlab服務(wù)器上創(chuàng)建一個遠(yuǎn)程倉庫,地址為:http://xxxxxxxxxxx/droog/CYRepo.git
然后將我們的遠(yuǎn)程倉庫添加到我們的Repo中

pod repo add [私有庫名] [遠(yuǎn)程倉庫URL]

這時候可以通過pod repo查看對應(yīng)的repo勇婴,可以在終端看到對應(yīng)的CYRepo跟相應(yīng)的地址嘱腥。

二、創(chuàng)建我們的Pod庫

pod lib create CYKit

按照提示創(chuàng)建成功后齿兔,看到文件目錄里的CYKit.podspec,便是我們這個Pod庫的配置文件,內(nèi)容編輯如下

Pod::Spec.new do |s|

  s.name         = "CYKit"
  s.version      = "1.0.1"
  s.platform     = :ios, "11.0"

  s.summary      = "this is a practice project of pod."
  s.homepage     = "https://www.apple.com"
  s.license              = { :type => "MIT", :file => "LICENSE" }
  s.author             = { "xcode" => "xcode@apple.com" }

  s.source       = { :git => "http://xxx.xxx.xxx.xx/droog/CYKit.git" }
  s.source_files  = "CYKit/**/*.swift"
  s.resource     = 'CYKit/CYKit.bundle'
  
  s.framework  = "UIKit","Foundation"
  s.swift_version = '5.0'
  s.requires_arc = true

end
對應(yīng)文件夾如圖所示
image.png

然后將我們的CYKit推到對應(yīng)的git地址。
假如我們想要更新內(nèi)容医寿,比如我們指定podspec的

s.version      = "1.1.0"

給項(xiàng)目添加標(biāo)簽1.1.0。

三须眷、將Pod庫跟索引庫建立聯(lián)系

接著我們需要將指定的版本推送到遠(yuǎn)程倉庫,

pod repo push CYRepo CYKit.podspec --allow-warnings

將我們的podspec文件推送到我們的CYRepo中.

四花颗、建立測試項(xiàng)目,編輯Podfile文件測試Pod庫

OK乐横,讓我們試一下今野,新建一個項(xiàng)目CYKitTest并編輯Podfile文件.

target 'CYKitTest' do
  # Comment the next line if you don't want to use dynamic frameworks
  # 使用其他來源地址
  source 'http://182.92.213.80/droog/CYRepo.git’
  # 使用官方默認(rèn)地址(默認(rèn))
  source 'https://github.com/CocoaPods/Specs.git'
  
  use_frameworks! :linkage => :static

#  :git => 'http://xxxxxxx//CYKit.git'
  pod 'CYKit', '~> 1.1.0'
end

執(zhí)行pod install之前我們可以先更新一下索引的CYRepo

pod repo CYRepo update

更新完成后運(yùn)行pod install,便可以使用了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末催什,一起剝皮案震驚了整個濱河市宰睡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拆内,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灵巧,死亡現(xiàn)場離奇詭異抹沪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)敏弃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門噪馏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欠肾,你說我怎么就攤上這事〔角澹” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵欢搜,是天一觀的道長谴轮。 經(jīng)常有香客問我炒瘟,道長第步,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任廓推,我火速辦了婚禮翩隧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘堆生。我一直安慰自己,他們只是感情好涝婉,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布蔗怠。 她就那樣靜靜地躺著,像睡著了一般蟀淮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天策治,我揣著相機(jī)與錄音兰吟,去河邊找鬼。 笑死混蔼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悔政,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼延旧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芦瘾?” 一聲冷哼從身側(cè)響起集畅,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挺智,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谣辞,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沐扳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年沪摄,在試婚紗的時候發(fā)現(xiàn)自己被綠了躯嫉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杨拐。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡哄陶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屋吨,到底是詐尸還是另有隱情,我是刑警寧澤至扰,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布敢课,位于F島的核電站阶祭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鞭盟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一懊缺、第九天 我趴在偏房一處隱蔽的房頂上張望培他。 院中可真熱鬧,春花似錦俊扳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腌紧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間号胚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工猫胁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跛锌,地道東北人。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓驾茴,卻偏偏與公主長得像氢卡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子译秦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361