如何在iOS&swift中使用第三方庫(CocoaPods)

CocoaPods是iOS依賴管理的工具羹应,類似于android中的Maven叛氨,使用它可以避免一些毫無技術(shù)含量的浪費(fèi)時(shí)間的操作步驟(類似上一節(jié)的拖拽copy)持钉,我們只需要將用到的第三方開源庫放到一個(gè)名為 Podfile 的文件中淀衣,然后執(zhí)行pod install昧港, CocoaPods 就會(huì)自動(dòng)將這些第三方開源庫的源碼下載下來,并且為工程設(shè)置好相應(yīng)的系統(tǒng)依賴和編譯參數(shù)逻住。

安裝

安裝方式異常簡單 , Mac 下都自帶 ruby钟哥,使用 ruby 的 gem 命令即可下載安裝:

$ sudo gem install cocoapods

$ pod setup

如果你的 gem 太老,可能也會(huì)有問題瞎访,可以嘗試用如下命令升級(jí) gem:

sudo gem update --system

另外腻贰,ruby 的軟件源 https://rubygems.org 因?yàn)槭褂玫氖莵嗰R遜的云服務(wù),所以被墻了扒秸,需要更新一下 ruby 的源播演,使用如下代碼將官方的 ruby 源替換成國內(nèi)淘寶的源:

gem sources --remove https://rubygems.org/

gem sources -a http://ruby.taobao.org/

gem sources -l

還有一點(diǎn)需要注意,pod setup在執(zhí)行時(shí)伴奥,會(huì)輸出Setting up CocoaPods master repo写烤,但是會(huì)等待比較久的時(shí)間。


以上步驟只有第一次安裝時(shí)才需要拾徙,后面直接跳過

使用

在項(xiàng)目最外層新建一個(gè)Podfile文件洲炊,new File... > iOS > Other > Empty ,命名為Podfile尼啡,沒有后綴

在該文件中輸入下面內(nèi)容暂衡,這里我們使用一個(gè)圖片加載的第三方庫Kingfisher來演示,項(xiàng)目地址https://github.com/onevcat/Kingfisher

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '8.0'

use_frameworks!

pod 'Kingfisher', '~> 1.8'

如果后面我們需要繼續(xù)添加一個(gè)網(wǎng)絡(luò)請(qǐng)求的第三方庫崖瞭,我們可以直接在后面加上別名和版本號(hào)即可

pod 'Alamofire', '~> 3.0'

然后我們關(guān)掉Xcode狂巢,到launchpad > 其他 > 終端 中輸入下面內(nèi)容:

cd "your project home"

pod install

回車執(zhí)行,稍等一會(huì)后不出意外的話你將看到下面內(nèi)容

himideMacBook-Pro:demo1 himi$ cd /Users/himi/Desktop/demo1

himideMacBook-Pro:demo1 himi$ pod install

Updating local specs repositories

Analyzing dependencies

Downloading dependencies

Installing Kingfisher (1.8.2)

Generating Pods project

Integrating client project

[!] Please close any current Xcode sessions and use `demo1.xcworkspace` for this project from now on.

Sending stats

Pod installation complete! There is 1 dependency from the Podfile and 1 total

pod installed.

himideMacBook-Pro:demo1 himi$

我們查看一下項(xiàng)目的Finder书聚,可以看到多了一個(gè)demo1.xcworkspace的文件唧领,現(xiàn)在代态,你的所有第三方庫都已經(jīng)下載完成并且設(shè)置好了編譯參數(shù)和依賴,你只需要記住如下 2 點(diǎn)即可:

使用 CocoaPods 生成的 .xcworkspace 文件來打開工程疹吃,而不是以前的 .xcodeproj 文件。

每次更改了 Podfile 文件西雀,你需要重新執(zhí)行一次pod update命令萨驶。

然后我們打開這個(gè)文件,看到原來的目錄結(jié)構(gòu)多了一個(gè)Pods

剛才我們示例添加的是一個(gè)圖片加載的第三方艇肴,我們可以像這樣直接使用:

import Kingfisher

imageView.kf_setImageWithURL(NSURL(string: "http://your_image_url.png")!)

這樣使用CocoaPods來添加第三方庫已經(jīng)講解完了腔呜,它與直接拖拽的不同之處就是能很方便的更新、添加再悼、刪除核畴,讓你的項(xiàng)目結(jié)構(gòu)更清晰,更便于管理冲九。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谤草,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子莺奸,更是在濱河造成了極大的恐慌丑孩,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灭贷,死亡現(xiàn)場(chǎng)離奇詭異温学,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)甚疟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門仗岖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人览妖,你說我怎么就攤上這事轧拄。” “怎么了讽膏?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵紧帕,是天一觀的道長。 經(jīng)常有香客問我桅打,道長是嗜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任挺尾,我火速辦了婚禮鹅搪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遭铺。我一直安慰自己丽柿,他們只是感情好恢准,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甫题,像睡著了一般馁筐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坠非,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天敏沉,我揣著相機(jī)與錄音,去河邊找鬼炎码。 笑死盟迟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的潦闲。 我是一名探鬼主播攒菠,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼歉闰!你這毒婦竟也來了辖众?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤和敬,失蹤者是張志新(化名)和其女友劉穎赵辕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體概龄,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡还惠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了私杜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚕键。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖衰粹,靈堂內(nèi)的尸體忽然破棺而出锣光,到底是詐尸還是另有隱情,我是刑警寧澤铝耻,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布誊爹,位于F島的核電站,受9級(jí)特大地震影響瓢捉,放射性物質(zhì)發(fā)生泄漏频丘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一泡态、第九天 我趴在偏房一處隱蔽的房頂上張望搂漠。 院中可真熱鬧,春花似錦某弦、人聲如沸桐汤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怔毛。三九已至员萍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拣度,已是汗流浹背碎绎。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜡娶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓映穗,卻偏偏與公主長得像窖张,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蚁滋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

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

  • 項(xiàng)目組件化宿接、平臺(tái)化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件辕录,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,855評(píng)論 0 39
  • CocoaPods 是什么睦霎? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,693評(píng)論 3 51
  • 前端學(xué)習(xí)資源實(shí)在是又多又廣走诞,在這樣的一個(gè)知識(shí)的海洋里副女,我們像一塊海綿一樣吸收,想要快速提高效率蚣旱,平時(shí)的總結(jié)不可缺少...
    Chris_Jo閱讀 244評(píng)論 0 0
  • * 我還告訴你碑幅,你是彼得,我要把我的教會(huì)建造在這磐石上塞绿;陰間的權(quán)柄(權(quán)柄:原文是門)沟涨,不能勝過他。 為教會(huì)(更建立...
    上海金保羅閱讀 2,637評(píng)論 1 1
  • 這里是提示我用的環(huán)信SDK里面的EaseUI里的報(bào)錯(cuò)异吻,類似的問題找到它提示的路徑下裹赴,比如我這里在EaseUIRes...
    艾姆希閱讀 381評(píng)論 0 2