cocoapods的安裝與使用

前序


之前做過一個項(xiàng)目披粟,我沒有使用cocoapods來安裝第三方庫咒锻,直接將第三方庫拖入項(xiàng)目中,搭建橋來直接使用守屉。這種方法簡單惑艇、直接、快捷拇泛,但是不利于后期項(xiàng)目的維護(hù)滨巴,所以我按照網(wǎng)上的方法從安裝rvm、升級ruby俺叭、安裝升級cocoapods到使用cocoapods安裝第三方庫和第三方庫在項(xiàng)目中的使用恭取。在這中間我遇到了無數(shù)無數(shù)的坑,哎啊熄守,簡直是坑爹膀诳濉!TU铡攒发!已經(jīng)哭暈在廁所了!為了給其他的新手朋友提供一些幫助晋南,今天就寫下來這篇博客惠猿,也是我的處女作哦!好了负间,我們下面進(jìn)入正題吧偶妖,Let's go

各種常見問題解決方案


在此我會列出下面的操作中有可能出現(xiàn)的一些坑,方便讀者解決問題政溃。

1. ?當(dāng)我們在完成第四步(更新ruby后)趾访,我們有可能會驚訝的發(fā)現(xiàn),我們不能執(zhí)行安裝cocoapods的指令了玩祟「顾酰總是提示我們 “#Unable to require openssl,install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources ”屿聋。這也是我遇到的一個坑空扎,現(xiàn)在跟你分享下解決方法:

a. ?下載ruby最新源碼 ?點(diǎn)此下載 并解壓 ?ruby 2.2可以下載Ruby2.2.5的 ?ruby 2.3的可以下載Ruby 2.3.1的 ? ? ? ? ? ? ? ? ? ? ??

b. ?用命令安裝openssl

$ brew install openssl

如果終端輸出

openssl-1.0.2h_1 already installed

那么表示已經(jīng)安裝成功了。如果不是那么就繼續(xù)安裝吧润讥。

c.? cd到你下載的Rudy 的位置转锈。 你可能會說我怎么知道我下載到哪里了啊,那么你就把下載的放到你的桌面上楚殿。那么你的路徑就應(yīng)該是 /Users/你的用戶名(注意是英文的)/Desktop/Ruby-2.2.5撮慨。 我的如下:

$ cd? /Users/KingTortoise/Desktop/Ruby-2.2.5

d. ?配置源碼

$ ./configure ?--with-openssl-dir=/usr/local/ssl

e. ?編譯ruby源碼

$ make

f.最后安裝ruby

$ sudo make install

到這里為止我們就完成了。現(xiàn)在我們只要回到最初的位置就可以繼續(xù)安裝cocoapods了。

$ cd /Users/你的用戶名/

這樣就可以回到最初的位置了

好戲來了


首先我們來知道Homebrew(os x 不可或缺的套件管理器)砌溺、rvm影涉、ruby這幾個東西,這些在我們后面的安裝中都有用到规伐。

1.查看自己的ruby版本:

$ ruby -v

這里新手朋友要注意蟹倾,你要輸入的是 ruby -v ,前面的 $ 這個不需要你輸入2痢O侍摹!E嗷拧;砺健!

終端輸出版本號:(我的電腦是2.0.0的版本吵护,但是不知道朋友你輸出的是多少盒音,但是我可以告訴你的是如果現(xiàn)在你的版本低于2.2.2,那么你就要進(jìn)行升級馅而,因?yàn)楹竺姘惭bcocoapods時里逆,它要求你的ruby不能低于2.2.2)

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

如果你的版本號低于2.2.2的話,那么你要升級ruby用爪≡海可以使用rvm對ruby進(jìn)行升級。

2.安裝rvm:

$ curl -L get.rvm.io | bash -s stable

終端輸出一些信息偎血,這個過程要根據(jù)你的網(wǎng)速來決定诸衔,但是時間不會太長。當(dāng)終端輸出完成后颇玷,你可以查看rvm的版本號來判斷是否安裝成功笨农。

$ source ~/.bashrc $ source ~/.bash_profile$ rvm -v

$ source ~/.bash_profile

$ rvm -v

終端輸出版本號就意味著你成功了:

rvm 1.27.0 (latest) by Wayne E. Sequin <waynessguin@gmail.com>, Michal Papis<mpapis@gmail.com>[https://rvm.io/]

主要這里是(laster)最新版,我之前有一次出現(xiàn)(master),雖然我不知道這后面的操作有沒有影響帖渠,但是我想你還是把rvm升級到最新版比較的放心~~

3.升級rvm(如果你第二步安裝的rvm是laster版谒亦,那么你可以跳過這一步!空郊!

按照下面這三個步驟就可以更新rvm

$ rvm get head

$ rvm reload

$ rvm get stable

每個步驟之間都要等一小小小會份招,你可不要一次性輸入完啊狞甚!

4.利用rvm來升級ruby

$ rvm list known

終端打印相應(yīng)的信息锁摔,通過信息我們可以看到rvm支持的ruby版本號,例如:

[ruby]2.2[4] ?代表ruby2.2有5個版本號 ?2.2.0 ? 2.2.1 ? ?2.2.2 ? ?2.2.3 ? ?2.2.4

因?yàn)槲覀兒竺嬉髍uby版本最低要是2.2.2,那么我們要升級ruby在2.2.2以上哼审。我自己在這里升級ruby為2.2.4谐腰。 因?yàn)閭€人情況不同孕豹,你可以安裝其他的版本,但是不能低于2.2.2十气。

下面這個代碼就是升級ruby

$ rvm install 2.2.4

有的時候這個代碼沒有用励背,系統(tǒng)提示你要使用這個

$ rvm reinstall ruby-2.2.4

那么你就使用這個指令。我估計我是安裝的太多次了砸西,所以出現(xiàn)了這個提示R我啊!籍胯!

這個安裝過程稍微有點(diǎn)長竟闪,耐心等會就好了。中間會出現(xiàn)這樣的情況:

type new path if you wish custom Homebrew installation (the path needs to be writable for user):

出現(xiàn)這個那是因?yàn)槟銢]有安裝homebrew,系統(tǒng)正在幫你自動安裝杖狼。我最初還以為這里要輸入什么炼蛤,但是不是的,你這里不需要輸入蝶涩。但是我在這等了好久理朋,后來在一篇博客中看到這里好像有兩個回車,具體什么時候按我也不知道绿聘,反正當(dāng)初我就是按回車按好的嗽上。最好的方法就是當(dāng)你等的不耐煩的時候就按回車玩玩吧,嘻嘻Oㄈ痢J薹摺!

如果你這里沒有出現(xiàn)這個挪圾,那么你要看一下你有沒有安裝homebrew,你可以通過查看homebrew的版本號來判斷

$ brew -v

如果終端輸出版本號浅萧,那么就ok啦!U芩肌洼畅! ?如果沒有,那么你要自己手動安裝homebrew,然后還要重新升級ruby棚赔。如果你是第一次的話帝簇,系統(tǒng)會自動幫你安裝homebrew的,但是我們不怕一萬靠益,就怕萬一嘛丧肴。homebrew的安裝在第五步講,現(xiàn)在先把第四步完成捆毫。

終端輸出完成后闪湾,你可以查看ruby的版本號冲甘,查看ruby的指令跟第一步是一樣的绩卤。如果是你更新后的版本途样,那么就代表成功了。如果ruby還是以前的版本的話濒憋,那么就代表失敗了何暇。失敗了怎么辦? 那你重新再更新下凛驮,我估計有可能是homebrew沒有安裝上的原因裆站,你先手動安裝homebrew后再重新更新ruby。

看這里黔夭!看這里:昕琛!看這里1纠选<缗邸!

現(xiàn)在你是不是更新成功了盎楸埂氛赐! 是不是很開心,??先舷! 慢著艰管,還有一步你一定要做,防止你后面出錯了你要重頭再來蒋川,你要把你ruby的默認(rèn)版本號修改為你當(dāng)前的版本號牲芋。

$?rvm use 2.2.4 --default


5.手動Homebrew

你要確定你是否安裝homebrew,可以通過查看homebrew的版本號來判斷捺球。

$ brew -v

如果終端輸出版本號街图,那么就ok啦!@凉埂餐济!? 如果沒有你要安裝homebrew,那么你要自己手動安裝homebrew。安裝指令如下:

$ ruby -e "$(curl - fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

注意這里 l 不是數(shù)字1, 是小寫的L胆剧。等一會Homebrew就安裝成功了絮姆。

6.安裝cocoa pods

為了防止因?yàn)間em太老而造成問題,要更新gem:

$ sudo gem update --system

安裝cocoa pods

$ sudo gem install cocoapods

如果這條指令沒有響應(yīng)的話秩霍,那么你要使用淘寶的Ruby鏡像來訪問cocoapods,依次執(zhí)行如下指令將ruby源替換成國內(nèi)的淘寶的源:

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

$ gem sources -a https://ruby.taobao.org/

現(xiàn)在要驗(yàn)證你是否成功替換了ruby鏡像

$ gem sources -l

如果出現(xiàn)https://ruby.taobao.org/ 那么表示成功了篙悯;現(xiàn)在再安裝cocoa pods。

$ sudo gem install cocoapods

到目前為止cocoapods已經(jīng)安裝完成了铃绒。


7.使用cocoa pods來安裝第三方庫

這里我以常用的第三方庫為例(AFNetworking和MJRefresh)

首先我們要cd到你的項(xiàng)目目錄鸽照,你如果不知道你的項(xiàng)目路徑,那么你就打開你的工程

看見沒有颠悬? Full Path 這里就有的矮燎, 你只需要/Users/KingTortoise/Desktop/zhonggang/就夠了定血,后面的工程路徑不需要的。

$ cd /Users/KingTortoise/Desktop/zhonggang/

然后創(chuàng)建Podfile文件

$ vim Podfile

此時會進(jìn)入到Podfile 文件的編寫界面中诞外。按下 i 鍵就可以進(jìn)行編寫了 澜沟。 編寫的內(nèi)容一下要注意,否則的話你有可能入坑∠恳辏現(xiàn)在我寫一個例子

platform :ios,'10.0'

use_frameworks!

target 'zhonggang' do

pod 'AFNetworking','~>3.0'

pod 'MJRefresh','~>3.0'

end

上面的 ‘10.0’代表著你該項(xiàng)目目前支持的最高版本茫虽。 use_frameworks! 這句話你一定要加,不然后面會出現(xiàn)問題的既们。 ? ‘zhonggang’是我的項(xiàng)目名稱濒析,你要填寫你自己的項(xiàng)目名稱。 ?‘~>3.0’代表我們要導(dǎo)入的第三方庫的版本不低于3.0啥纸。 我就是這樣寫的悼枢,沒有出現(xiàn)問題~~

當(dāng)你編寫完成后,按下 ESC鍵退出編輯脾拆,然后按 ?冒號(:)wq退出馒索。 ?注意是 (?:wq?)?

最后執(zhí)行命令,下載第三方庫

$ pod install

這個下載過程比較的漫長名船,而且沒有給你任何的提示绰上,網(wǎng)上有一個方法,就是查看下載內(nèi)容的大小渠驼。 ? ? ?

?你要打開另一個終端界面蜈块,cd到它的下載目錄,查看文件大小

$ cd ~/.cocoapods

$ du -sh*

每隔幾分鐘查看一次迷扇。我這次下載了兩個第三方庫百揭,一共大概390M。

當(dāng)你下載完成后蜓席,你會發(fā)現(xiàn)你的項(xiàng)目包中多處了四個文件


當(dāng)你看到這些的時候器一,你已經(jīng)完成的差不多了。在你以后的開發(fā)過程中厨内,你要使用上圖的xcworkspace來進(jìn)行編程祈秕,而不是使用以前的xcodeproj來編程。

打開xcworkspace后會發(fā)現(xiàn)不同的雏胃。


看見沒有请毛,我們的第三方庫自動的加進(jìn)來了。

8.在工程中使用第三方庫

在這里我以swift語言為例子瞭亮,如果我們想使用第三方庫的話方仿,我們只需要在當(dāng)前類上 import 第三方庫就行了,后面就可以使用了。


很多朋友到這里就發(fā)現(xiàn)問題了仙蚜,咦此洲,我這個怎么不提示啊,還報錯鳍征,怎么回事笆螋帷面徽?好吧艳丛,我就是遇到這個問題的都比。

解決方法:點(diǎn)擊的工程Target->Build Settings菜單趟紊; ? 找到 “User Header Search Paths ”設(shè)置項(xiàng)氮双; ? 新增加一個值 ? “$(PODS_ROOT)”,注意沒有雙引號蚌佟4鞑睢! 并且后邊選擇 “recursive”铛嘱。這樣就ok了暖释。關(guān)于這一方面的解決方法,網(wǎng)上有很多墨吓,我這就不詳細(xì)寫了球匕。 ? 最氣人的是我這樣設(shè)置了,但是并沒有什么卵用帖烘,還是沒有提示和報錯亮曹。啊啊啊,氣死我了秘症,搞了整整一天照卦,這個問題把我困住。好吧乡摹,我就不發(fā)牢騷了役耕,我說說我怎么解決的吧。我先睡了一覺聪廉,然后第二天早上起來又試了一次啊蹄葱,我X, 還是沒好锄列,哈哈图云。再然后我就運(yùn)行下程序,再試邻邮,好了(一臉懵逼)竣况。

總結(jié)一下這個解決辦法就是:

點(diǎn)擊的工程Target->Build Settings菜單;? 找到 “User Header Search Paths ”設(shè)置項(xiàng)筒严;? 新增加一個值? “$(PODS_ROOT)”丹泉,注意沒有雙引號扒橛!摹恨! 并且后邊選擇 “recursive”筋岛。如果這樣還是沒有用的話,那你就運(yùn)行下程序再試試看晒哄。


結(jié)束語


到這里我也寫的差不多了睁宰,我就簡單總結(jié)下我的使用過程吧

1.查看ruby版本

2.安裝rvm

3.利用rvm升級ruby

4.安裝cocoapods

5.利用cocoapods下載第三方庫

6.在工程中使用第三方庫

大體上的步驟就這么的多,但是還有很多的細(xì)節(jié)沒有寫出寝凌。我也把我遇到的一些問題和解決方法寫了出來柒傻,希望對你們有一定的幫助。當(dāng)然我也是一個新手较木,這也是我第一次寫博客红符,內(nèi)容上有些乏味,甚至還存在著一些問題伐债,希望廣大讀者諒解预侯,指出我的錯誤和不足之處。最后峰锁,十分感謝你的耐心閱讀??萎馅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市祖今,隨后出現(xiàn)的幾起案子校坑,更是在濱河造成了極大的恐慌,老刑警劉巖千诬,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耍目,死亡現(xiàn)場離奇詭異,居然都是意外死亡徐绑,警方通過查閱死者的電腦和手機(jī)邪驮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傲茄,“玉大人毅访,你說我怎么就攤上這事∨陶ィ” “怎么了喻粹?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長草巡。 經(jīng)常有香客問我守呜,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任查乒,我火速辦了婚禮弥喉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玛迄。我一直安慰自己由境,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布蓖议。 她就那樣靜靜地躺著虏杰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拒担。 梳的紋絲不亂的頭發(fā)上嘹屯,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天攻询,我揣著相機(jī)與錄音从撼,去河邊找鬼。 笑死钧栖,一個胖子當(dāng)著我的面吹牛低零,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拯杠,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼掏婶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了潭陪?” 一聲冷哼從身側(cè)響起雄妥,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎依溯,沒想到半個月后老厌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黎炉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年枝秤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慷嗜。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡淀弹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出庆械,到底是詐尸還是另有隱情薇溃,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布缭乘,位于F島的核電站沐序,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜薄啥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一辕羽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垄惧,春花似錦刁愿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至觉壶,卻和暖如春脑题,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铜靶。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工叔遂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人争剿。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓已艰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蚕苇。 傳聞我的和親對象是個殘疾皇子哩掺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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