CocoaPods的安裝與簡單使用

CocoaPods安裝及使用

CocoaPods是ios開發(fā)平臺一個非常流行的第三方庫管理工具。在開發(fā)過程中,根據(jù)項目復(fù)雜程度,通常我們會需要外鏈很多的第三方庫。而添加這些第三方庫的過程有時候會變成一場災(zāi)難。因此使用CocoaPods來代替我們管理這些庫,將可以大幅縮短我們的開發(fā)時間。

在使用CocoaPods的時候我們并不需要關(guān)注它的原理,簡單來講它相當于將github上的第三方庫checkout到你的項目工程目錄中,再直接將這些庫的鏈接添加到你的工程中。并且之后你也可以通過簡單的命令對這些庫進行更新。

以下就來了解一下CocoaPods的安裝過程以及使用方法:

1.環(huán)境配置

筆者使用的開發(fā)環(huán)境是Mac OS X 10.11,XCode 7.3。CocoaPods的安裝和使用需要有Ruby環(huán)境(Mac系統(tǒng)默認安裝了Ruby環(huán)境,如果系統(tǒng)沒有Ruby環(huán)境的可以去百度,有很多相關(guān)的文檔)。不確定自己系統(tǒng)中是否有Ruby的,可以在終端中輸入命令行:ruby -v查看當前ruby版本。

$ruby -v

ruby2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

如果確認系統(tǒng)中已經(jīng)有Ruby環(huán)境的,就可以繼續(xù)下面的安裝步驟了。

1.安裝

CocoaPods的安裝是非常簡單的,但是前提是你的網(wǎng)速夠快并且能繞過GFW(這就是為什么程序員必須要有vpn)。

確保網(wǎng)速夠快(能繞過GFW)的,可以直接執(zhí)行下面命令:

$sudo gem install cocoapods

如果執(zhí)行了這句命令以后,終端很長時間都沒有反應(yīng),那么就可以確定你沒有繞過GFW了。這樣的話你就需要按照以下步驟進行安裝了:

首先,檢查你的ruby源:

$gem sources -l

默認情況下,終端應(yīng)該返回如下信息:

*** CURRENT SOURCES ***https://rubygems.org/

當然這個源在墻內(nèi)是訪問不到的。因此我們需要尋找一個可以在國內(nèi)訪問到的鏡像。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個阿里云的鏡像,當然隨著時間的推移,未來這個鏡像也有可能無法訪問了,到時候就只能重新尋找了。

確認鏡像可用后,現(xiàn)在就要開始修改ruby源了。首先執(zhí)行以下命令刪除原來的ruby源:

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

執(zhí)行命令后可在終端看見以下信息:

https://rubygems.org/ removedfromsources

然后下一步添加你找到的可用的鏡像源:

$gem sources -a http://rubygems-china.oss.aliyuncs.com

此時如果你再執(zhí)行g(shù)em sources -l命令,就能看到當前鏡像源里只有阿里云這一個了。此時你就可以重新執(zhí)行這一段開頭的那句命令了:

$sudo gem install cocoapods

如果一切正常,你應(yīng)該能看到一段安裝進度,以及最后有一條信息:

3 gems installed

確認看見這條信息,就說明你的安裝已經(jīng)成功了,接下去就可以開始準備在你的項目中使用CocoaPods了。

2.使用

CocoaPods的使用我們以一個ios上非常通用的AFNetworking為例。首先,你需要檢查你要添加的第三方庫是否支持CocoaPods。在終端中執(zhí)行以下命令:

$pod search AFNetworking

執(zhí)行以后你應(yīng)該能看到類似如下的一些關(guān)于AFNetworking庫的信息:

-> AFNetworking (3.1.0)

A delightful iOSandOS X networking framework.

pod'AFNetworking','~> 3.1.0'- Homepage: https://github.com/AFNetworking/AFNetworking- Source:? https://github.com/AFNetworking/AFNetworking.git- Versions: 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3,3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2,2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0,2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4,1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2,1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1[master repo]-Subspecs:- AFNetworking/Serialization (3.1.0)- AFNetworking/Security (3.1.0)- AFNetworking/Reachability (3.1.0)- AFNetworking/NSURLSession (3.1.0)- AFNetworking/UIKit (3.1.0)

確認AFNetworking庫支持CocoaPods后,接下去我們就可以開始做添加操作了。

首先在XCode中新建一個project,筆者在這里命名為CocoaPodsTest。然后,在終端中cd到你的project所在的目錄:

$cd /CocoaPodsTest

然后,執(zhí)行命令:

$vim Podfile

添加一個Podfile文件。然后按i進入插入模式,進行編輯,在文件中輸入以下內(nèi)容:

platform :ios,'8.1'pod'AFNetworking','~> 2.0'

輸入完成后按ESC退出編輯模式,最后輸入:wq保存并退出文件。此時可以發(fā)現(xiàn)在項目目錄下多了一個Podfile的文件,請注意這個文件必須與.xcodeproj在同一目錄下。

(眼尖的朋友可能已經(jīng)發(fā)現(xiàn)了,筆者這里使用的AFNetworking是2.0版本,而search出來的最新版本是3.1.0。這是為了下面執(zhí)行update方便而進行的設(shè)置,這里可以直接填3.1.0)

不要改變終端中的當前目錄,執(zhí)行以下命令:

$pod install

就可以在當前項目中添加CocoaPods支持。安裝完成后可以看到如下信息:

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

Sending stats

Pod installation complete! There is 1 dependency from the Podfile and 1 totalpod installed.

該信息表示CocoaPods已成功添加到當前項目中。同時“1 dependency from the Podfile”的意思就是Podfile文件中的AFNetworking庫也添加完畢。同時在項目目錄下你能發(fā)現(xiàn)多了Pods目錄以及一個.xcworkspace文件。上面[!]后面提示的信息表示你需要在XCode中關(guān)閉現(xiàn)在這個CocoaPodsTest.xcodeproj,并且以后使用CocoaPodsTest.xcworkspace文件打開工程。

這個時候你打開xcworkspace,應(yīng)該可以看見Pods已經(jīng)被添加到工程,并且在Pods組里面,也包含了AFNetworking庫。

這樣,我們就完成了CocoaPods從安裝到添加到工程的整個流程。而對于已經(jīng)使用了CocoaPods的工程,可以通過CocoaPods的update功能直接更新包含的第三方庫。

3.更新

CocoaPods可以非常簡單的使用update語句直接更新所有第三方庫,以下仍然使用AFNetworking為例。

首先,我們可以看到前面筆者使用的AFNetworking庫,是使用的2.0版本。然而pod search AFNetworking命令執(zhí)行的時候,能看到AFNetworking目前最新的版本是3.1.0。接下去我們就來看要如何將目前的第三方庫版本更新到最新的版本。

同樣先cd到項目目錄下,并且開始編輯Podfile文件:

$cd /CocoaPodsTest

$vim Podfile

將Podfile文件中AFNetworking這一行的2.0改成3.1.0:

platform :ios,'8.1'pod'AFNetworking','~> 3.1.0'

修改完成后,按ESC退出編輯模式,最后輸入:wq保存并退出文件。

然后回到終端,執(zhí)行以下命令就可以開始更新了:

$pod update

可以看到在返回的信息中有一行綠色的信息:

Installing AFNetworking 3.1.0 (was 2.6.3)

這就表示項目中的AFNetworking庫已經(jīng)更新到3.1.0版本了。

4.小結(jié)

CocoaPods的功能非常強大,更高級的使用需求可以訪問CocoaPods的官網(wǎng)https://cocoapods.org/?查找更多功能。另外在https://github.com/CocoaPods/CocoaPods/wiki?也可以獲得更多信息。

本文參考了

http://cnbin.github.io/blog/2015/05/25/cocoapods-an-zhuang-he-shi-yong/

http://code4app.com/article/cocoapods-install-usage

兩位分享的內(nèi)容,在這里致以誠摯的謝意。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

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

  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby,可以先安裝xcode,再安裝macport ,最后...
    山天大畜閱讀 1,882評論 0 1
  • CocoaPods 是什么? CocoaPods 是一個負責管理 iOS 項目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,735評論 3 51
  • Apple 內(nèi)購流程:1、向蘋果服務(wù)器,發(fā)送請求,獲取可購買商品信息。2、SKProductsRequest 協(xié)議...
    大老虎_Robin閱讀 1,836評論 1 5
  • 今天寶貝用他在幼兒園學到的蒙氏方法教我數(shù)數(shù)。還手把手教我寫呢,體驗了一把左手教左手的寫字感受。明顯我的起筆落筆順序...
    張欣_2019閱讀 200評論 0 0
  • 最可憐的莫過于對他好的那部分人,簡直是心累到無以復(fù)加,用盡了辦法卻只能看著他繼續(xù)重復(fù)他的無休止的墮落過程。 他也知...
    大王叫我來排版閱讀 401評論 0 0