cocoaPods 安裝相關(guān)筆記

首先cocoaPods是多應(yīng)用于 macOSX的框架管理工具骆捧,類似PHP中 composer

cocoaPods 的安裝

? ??首先推薦vim指令行安裝望拖,網(wǎng)上筆記很多蔓倍,不是什么問題胰舆,不過有幾點需要注意的昨登,如果是一臺新電腦播演,cocoaPods需要安裝依賴庫冀瓦,當然,大多數(shù)都是用 Ruby写烤,安裝Ruby環(huán)境又需要安裝gem 或者 rvm

? ? 現(xiàn)在我來寫一個從頭開始安裝的步驟翼闽。

一、從appStore安裝Xcode

? ? Xocde內(nèi)置很多系統(tǒng)依賴包洲炊,如果你是一臺剛剛初始化的電腦感局,安裝Xcode會給你安裝第3方插件管理工具減少很多步驟。

二暂衡、如果你安裝Ruby報錯

? ? 我建議直接先走這一步询微,別等安裝Ruby失敗的時候才回來安裝Xcode附屬工具


? ? 可以使用指令打開 /Users/yourName/.rvm/log/1474472769_ruby-2.2.4/make.log?這個目錄? ? ? 如果報錯: ? ?

dyld: lazy symbol binding failed: Symbol not found: _clock_gettimedyld: Symbol not found: _clock_gettime

? ? 那么恭喜你,這個問題很簡單古徒,安裝Xcode的CommandLineTools工具拓提,執(zhí)行:

$ xcode-select —install

? ? 一路下一步,這個沒有問題隧膘。

三代态、安裝RVM

1.安裝指令 如果設(shè)置了管理員密碼,那需要輸入密碼疹吃,可能自動安裝了homebrew不過影響不大蹦疑。

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

2.載入RVM環(huán)境

$ source ~/.rvm/scripts/rvm

3.成功后,檢查安裝是否正確

$ rvm -v

? ? 輸出:

rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

四萨驶、使用RVM安裝Ruby環(huán)境

1.列出已知ruby版本

$ rvm?list known

2.可以選擇現(xiàn)有的rvm版本來進行安裝(下面以rvm 2.4.1版本的安裝為例)

$ rvm install 2.4.1

3.查看已經(jīng)安裝的ruby版本

$?rvm list

4.實驗期間錯誤安裝或者不需要的版本可以移除歉摧,我總覺得碎片文件太多會影響運行速度

$?rvm remove 1.9.2

$?rvm reinstall?1.9.2 (重新下載)

五、設(shè)置Ruby版本

1.RVM安裝好后,需要執(zhí)行下面的命令將指定版本的 Ruby 設(shè)置為系統(tǒng)默認版本(版本號不需要我解釋吧)

$ rvm 2.4.1 --default

2.設(shè)置成功后叁温,檢查是否可用

$ ruby -v

? ? 輸出

ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]

? ? 使用

$ gem -v

? ? 輸出

2.6.14

? ? 其實這是不對的再悼,這有可能是因為Ruby的默認源使用的是cocoapods.org,國內(nèi)訪問這個網(wǎng)址有時候會有問題膝但,網(wǎng)上的一種解決方案是將遠替換成淘寶的冲九,替換方式如下:

$ gem source -r https://rubygems.org/

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

? ? 替換淘寶鏡像,好多人還是使用老版跟束,注意是 https莺奸,大約15年更改過來的。

3.設(shè)置成功后冀宴,檢查是否可用

$?gem?sources?-l

? ? 輸出

CURRENT?SOURCES

http://ruby.taobao.org/

六灭贷、安裝cocoaPods

1.如果臉紅,那一切正常略贮,執(zhí)行下一步就好

$ sudo gem install cocoapods

2.搜索一個框架來測驗cocoapods安裝是否正確

$ pod search AFNetworking

? ? 如果報錯:

[!] Unable to find a pod with name, author, summary, or description matching `AFNetworking`

? ? 那么執(zhí)行

$ pod setup

? ? 成功會打由跖薄:

Setup completed

? ? 原因是:install 會默認執(zhí)行setup操作,但是可能不成功逃延,如果成功是你臉紅古拴,如果不成功手動setup。over

? ? 如果你這時候快速的 執(zhí)行了搜索操作真友,那么,你會絕望的回來繼續(xù)看紧帕,因為還是會一樣報錯

? ? 原因是:是因為之前你執(zhí)行pod search生成了search_index.json盔然,此時需要刪掉。

$?rm ~/Library/Caches/CocoaPods/search_index.json?

? ? 繼續(xù)執(zhí)行search操作是嗜,會出現(xiàn)Creating search index for spec repo ‘master’.. Done! 稍等over

七愈案、使用 下面常規(guī)操作 粘貼過來的

? ? 你看到這里也許會問,CocoaPods為什么能下載AFNetworking呢鹅搪,而不是下載其他類庫呢站绪?這個問題的答案是,有個文件來控制CocoaPods該下載什么丽柿。這個文件就叫做“Podfile”(注意恢准,一定得是這個文件名,而且沒有后綴)甫题。你創(chuàng)建一個Podfile文件馁筐,然后在里面添加你需要下載的類庫,也就是告訴CocoaPods坠非,“某某和某某和某某某敏沉,快到碗里來!”。每個項目只需要一個Podfile文件盟迟。

? ? 好吧秋泳,廢話少說,我們先創(chuàng)建這個神奇的PodFile攒菠。在終端中進入(cd命令)你項目所在目錄迫皱,然后在當前目錄下,利用vim創(chuàng)建Podfile要尔,運行:

$ vim Podfile

? ? 然后在Podfile文件中輸入以下文字:

platform :ios, '7.0'???????

? ? ? ? ? ? ? ?pod "AFNetworking", "~> 2.0"

? ? 注意舍杜,這段文字不是小編憑空生成的,可以在AFNetworking的github頁面找到赵辕。這兩句文字的意思是既绩,當前AFNetworking支持的iOS最高版本是iOS 7.0, 要下載的AFNetworking版本是2.0。

然后保存退出还惠。vim環(huán)境下饲握,保存退出命令是:

$?:wq

? ? 這時候,你會發(fā)現(xiàn)你的項目目錄中蚕键,出現(xiàn)一個名字為Podfile的文件救欧,而且文件內(nèi)容就是你剛剛輸入的內(nèi)容。注意锣光,Podfile文件應(yīng)該和你的工程文件.xcodeproj在同一個目錄下笆怠。

? ? 這時候,你就可以利用CocoPods下載AFNetworking類庫了誊爹。還是在終端中的當前項目目錄下蹬刷,運行以下命令:

$ pod install

? ? 因為是在你的項目中導(dǎo)入AFNetworking,這就是為什么這個命令需要你進入你的項目所在目錄中運行频丘。

運行上述命令之后办成,小編的終端出現(xiàn)以下信息:

EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install???????

Analyzing dependencies???????

Downloading dependencies???????

Installing AFNetworking (2.0.2)???????

Generating Pods project???????

Integrating client project???????

[!] From now on use `CocoaPodsDemo.xcworkspace`.


? ? 注意最后一句話,意思是:以后打開項目就用 CocoaPodsDemo.xcworkspace 打開搂漠,而不是之前的.xcodeproj文件迂卢。

? ? 你也許會郁悶,為什么會出現(xiàn).xcodeproj文件呢桐汤。這正是你剛剛運行$ pod install命令產(chǎn)生的新文件而克。除了這個文件,你會發(fā)現(xiàn)還多了另外一個文件“Podfile.lock”和一個文件夾“Pods”惊科。 點擊 CocoaPodsDemo.xcworkspace 打開之后工程之后拍摇,項目Xcode目錄結(jié)構(gòu)如下圖:

你會驚喜地發(fā)現(xiàn),AFNetwoking已經(jīng)成功導(dǎo)入項目了(紅框部分)馆截!

現(xiàn)在充活,你就可以開始使用AFNetworking.h啦蜂莉。可以稍微測試一下混卵,在你的項目任意代碼文件中輸入:

? ? ? ?#import

??????? 或者

??????? #import "AFNetworking.h"


? ? 然后編譯映穗,看看是否出錯。如果你嚴格按照小編上述的步驟來幕随,是不可能出錯的啦蚁滋。

至此,CocoPods的第一個應(yīng)用場景講述完畢赘淮。別看小編寫了這么多辕录,其實過程是十分簡單的∩倚叮總結(jié)一下就是:

先在項目中創(chuàng)建Podfile走诞,Podfile的內(nèi)容是你想導(dǎo)入的類庫。一般類庫的原作者會告訴你導(dǎo)入該類庫應(yīng)該如何寫Podfile蛤高;

運行命令:

$ pod install.

? ? 如果是網(wǎng)上下載的cocopods集成項目報錯蚣旱,那么 cd進入文件workspace所在的目錄,也就是和Podfile在同一目錄下

$ pod update

? ? 注意戴陡,這里有個小問題塞绿,如果剛剛你不是輸入$ pod update,而是輸入$ pod install恤批,會發(fā)現(xiàn)類庫導(dǎo)入不成功异吻,并且終端出現(xiàn)下面提示:

[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`.

??????? Available versions: 0.1.6


? ? 這里的意思大概是Podfile文件過期,類庫有升級喜庞,但是Podfile沒有更改涧黄。$ pod install只會按照Podfile的要求來請求類庫,如果類庫版本號有變化赋荆,那么將獲取失敗。但是?$ pod update會更新所有的類庫懊昨,獲取最新版本的類庫窄潭。而且你會發(fā)現(xiàn),如果用了?$ pod update酵颁,再用?$ pod install?就成功了嫉你。

? ? 那你也許會問,什么時候用?$ pod install躏惋,什么時候用?$ pod update?呢幽污,我又不知道類庫有沒有新版本。好吧簿姨,那你每次直接用?$ pod update?算了距误◆じ悖或者先用?$ pod install,如果不行准潭,再用?$ pod update趁俊。

? ? 好了,小編就啰嗦到這里吧刑然。上述都只是CocoaPods的最基本用法寺擂。要繼續(xù)研究CocoaPods其他高級用法,請點擊這里CocoaPods Wiki泼掠。

? ? 最近使用CocoaPods來添加第三方類庫怔软,無論是執(zhí)行pod install還是pod update都卡在了Analyzing dependencies不動

? ? 原因在于當執(zhí)行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數(shù)可以省略這一步择镇,然后速度就會提升不少挡逼。加參數(shù)的命令如下:

$pod install --verbose --no-repo-update

$pod update --verbose --no-repo-update

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沐鼠,隨后出現(xiàn)的幾起案子挚瘟,更是在濱河造成了極大的恐慌,老刑警劉巖饲梭,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乘盖,死亡現(xiàn)場離奇詭異,居然都是意外死亡憔涉,警方通過查閱死者的電腦和手機订框,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兜叨,“玉大人穿扳,你說我怎么就攤上這事」酰” “怎么了矛物?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長跪但。 經(jīng)常有香客問我履羞,道長,這世上最難降的妖魔是什么屡久? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任忆首,我火速辦了婚禮,結(jié)果婚禮上被环,老公的妹妹穿的比我還像新娘糙及。我一直安慰自己,他們只是感情好筛欢,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布浸锨。 她就那樣靜靜地躺著唇聘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揣钦。 梳的紋絲不亂的頭發(fā)上雳灾,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音冯凹,去河邊找鬼谎亩。 笑死,一個胖子當著我的面吹牛宇姚,可吹牛的內(nèi)容都是我干的匈庭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浑劳,長吁一口氣:“原來是場噩夢啊……” “哼阱持!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起魔熏,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤衷咽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蒜绽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镶骗,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年躲雅,在試婚紗的時候發(fā)現(xiàn)自己被綠了鼎姊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡相赁,死狀恐怖相寇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钮科,我是刑警寧澤唤衫,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站绵脯,受9級特大地震影響战授,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桨嫁,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望份帐。 院中可真熱鬧璃吧,春花似錦、人聲如沸废境。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巴元,卻和暖如春毡咏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逮刨。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工呕缭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人修己。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓恢总,卻偏偏與公主長得像,于是被迫代替她去往敵國和親睬愤。 傳聞我的和親對象是個殘疾皇子片仿,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

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

  • CocoaPods 是什么? CocoaPods 是一個負責管理 iOS 項目中第三方開源庫的工具尤辱。CocoaPo...
    朝洋閱讀 25,679評論 3 51
  • 我漸漸合上了迷蒙的雙眼砂豌, 看見一個白色而優(yōu)雅的身影 不是紅袖添香,遂是針尖與刀光光督。 那種針阳距,刺痛不了我對你信任的忠...
    南方醫(yī)科大學(xué)閱讀 129評論 0 0
  • 最近娄涩,在參加行動派的7天讀書分享活動中,給我感受最深的是:讀書不易映跟,寫作更不易蓄拣! 所謂讀書分享活動,就是在指定的時...
    笨鳥踐行者閱讀 1,005評論 18 13
  • 宸宸:今天媽媽哭了努隙,不是因為你的原因球恤。各種各樣的情緒積壓久了,無處宣泄荸镊,哭出來會好受很多咽斧。當你看見我流淚,你依然在...
    光年123閱讀 183評論 0 0