CocoaPods的使用

這一段做項目會用到一些開源庫比如VLC,七牛云存儲都是需要用CocoaPods才能運行,索性把這個總結(jié)一下

通過CocoaPods,我們可以將第三方的依賴庫統(tǒng)一管理起來,配置和更新只需要通過簡單的幾行命令即可完成,大大的提高了實際開發(fā)中的工作效率,使我們的主要精力集中到更重要的事情上去。

1.安裝CocoaPods

我的當(dāng)前Mac環(huán)境

安裝CocoaPods之前,先確保本地有Ruby環(huán)境,因為CocoaPods運行于Ruby之上,默認(rèn)情況下,Mac是自帶了Ruby環(huán)境的,可以通過命令行ruby -v查看當(dāng)前Ruby的版本

我的當(dāng)前Ruby版本

接下來我們就可以通過如下命令安裝CocoaPods了。

  1. $?sudo?gem?install?cocoapods

輸入上述命令后可能會無響應(yīng),那是因為你身在天朝,偉大的墻攔住了你的去路,

不過沒關(guān)系,我們可以通過淘寶的Ruby鏡像來訪問Cocoapods,在終端輸入如下命令將Ruby鏡像替換為淘寶的。替換方式如下:

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

//等有反應(yīng)之后再敲入以下命令??

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


要想驗證是否替換成功了,可以執(zhí)行:$?gem?sources 1 正常的輸出是:

***?CURRENT?SOURCES?***???


http://ruby.taobao.org/???


接下來就可以重新運行安裝命令來安裝CocoaPods了,根據(jù)你的網(wǎng)絡(luò)情況,幾秒或十幾秒后安裝過程就完成了,總的來說,安裝過程還是比較簡單的

安裝1
安裝2(完成)

2.安裝過程中可能遇到的問題

(1)gem版本過老

gem是管理Ruby庫和程序的標(biāo)準(zhǔn)包,如果它的版本過低也可能導(dǎo)致安裝失敗,解決方案自然是升級gem,執(zhí)行下述命令即可:$?sudo?gem?update?--system?

(2)安裝完成后執(zhí)行pod setup命令時報錯

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in?`to_specs':?Could?not?find?'cocoapods'?(>=?0)?among?6?total?gem(s)?(Gem::LoadError)??

????from?/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in?`to_spec'??

????from?/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in?`gem'??

????from?/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in?`<main>'
這就是路徑設(shè)置的問題,可以通過執(zhí)行:$?rvm?use?ruby-1.9.3-p448??

正確安裝后的結(jié)果是

已經(jīng)正確安裝了

3.使用CocoaPods

通過集成Qiniu類庫來演示如何使用CocoaPods來做依賴庫管理。首先,建立一個xcode工程,命名為CocoaPodsTestDemo

創(chuàng)建新工程

這里我們要集成Qiniu,可以先通過如下命令來判斷其是否支持CocoaPods

$?pod?search Qiniu
?出來的結(jié)果

檢測完畢后我們來到工程CocoaPodsTest的目錄下,新建一個名為Podfile的文件(這里通過命令行創(chuàng)建)

$?vim?Podfile 

這個Podfile文件的作用是配置依賴庫信息,就是告訴CocoaPods去下載和管理哪些依賴庫,文件創(chuàng)建好以后,打開文件并加入如下內(nèi)容。(vim打開文件后按i進(jìn)入插入模式,編輯完成后按esc退出編輯模式,接著輸入:wq保存并退出文件)


編輯想要添加的依賴庫

這時候,工程目錄下就會有一個Podfile文件了,注意必須和.xcodeproj在同一個目錄下。接下來就可以使用CocoaPods來安裝并管理Qiniu庫了,確保命令行當(dāng)前路徑是在CocoaPodsTest目錄下,運行如下命令。

$?pod?install 

安裝完成后會提示如下信息,并且我們的工程目錄下會多出一個.xcworkspace結(jié)尾的文件,命令行信息綠色部分提醒我們“從此使用CocoaPodsTest.xcworkspace來打開項目”。

添加成功后的綠色部分

通過CocoaPodsTest.xcworkspace來打開項目,這時,我們的項目工程結(jié)構(gòu)就會變成下圖這樣,多出一個名為Pods的依賴工程,打開Pods文件夾后,發(fā)現(xiàn)Qiniu已經(jīng)在里面了


依賴成功后的工程目錄

這時候就可以在項目文件中引入QiniuSDK.h了,這時候如果你發(fā)現(xiàn)import的時候沒有提示QiniuSDK的文件,可以在target-Build Settings下修改“User Header Search Paths”項,新增${SRCROOT}并選擇rcursive,如下圖。

更改頭路徑

設(shè)置完成后就可以在文件中直接引用第三方庫的文件并使用了。

可以正常引用第三方庫了

到此,新建工程并使用CocoaPods來管理依賴庫的過程就完成了,如果是直接使用已有CocoaPods的項目,則需要首先運行一下pod update命令來更新項,然后照樣通過.xcworkspace來打開工程。

如果需要依賴多個第三方類庫,只需要修改Podfile文件的配置,然后運行pod update命令即可,比如新增一個MBProgressHUD的依賴庫,首先執(zhí)行pod searchMBProgressHUD 查看一下MBProgressHUD的配置信息,修改Podfile文件,在后面增加MBProgressHUD的對應(yīng)配置信息,然 后運行pod update命令就完成了對MBProgressHUD的集成。

在這個地方把要添加的添加上
查詢以下該庫
執(zhí)行更新操作就行了
最終的效果

如果類庫有更新,查看更新配置并執(zhí)行pod update即可簡單完成了,從此從手動更新繁重的體力勞動中解脫出來

簡單小結(jié)一下:


安裝CocoaPods


新建項目并在工程根目錄下新建Podfile文件,配置需要管理的第三方庫


運行pod install下載安裝第三方庫




**********************************************************************

1.安裝CocoaPods

(1)先確保本地有Ruby環(huán)境 CocoaPods運行在Ruby環(huán)境之上 mac自帶有

查看當(dāng)前Ruby環(huán)境? ruby -v

(2)終端輸入如下命令(把Ruby鏡像指向taobao,避免被墻)

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

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

gem sources 1

2.下載安裝CocoaPods

sudo gem install cocoapods 輸入電腦密碼

Successfully installed cocoapods-0.39.0 說明已經(jīng)成功

3.使用CocoaPods

(1)先通過命令看是否支持 pod search AFNetworking

(2)檢測完畢后我們來到工程CocoaPodsTest的目錄下,新建一個名為Podfile的文件

vim Podfile

這個Podfile文件的作用是配置依賴庫信息,就是告訴CocoaPods去下載和管理哪些依賴庫,文件創(chuàng)建好以后,打開文件并加入如下內(nèi)容。(vim打開文件后按i進(jìn)入插入模式,編輯完成后按esc退出編輯模式,接著輸入:wq保存并退出文件)

platform :ios, ‘7.0’

pod ‘AFNetworking’, ‘~> 2.6.3’

(3)這時候,工程目錄下就會有一個Podfile文件了,注意必須和.xcodeproj在同一個目錄下。接下來就可以使用CocoaPods來安裝并管理AFNetworking庫了,確保命令行當(dāng)前路徑是在CocoaPodsTest目錄下,運行如下命令。

pod install

(4)如果再添加其他的? 就 執(zhí)行pod update


**************************************************************************************************

問題描述:使用cocoapods時,import 找不到頭文件。

問題原因:這是因為還沒設(shè)置頭文件的目錄。

解決辦法:在項目的Target的里設(shè)置一下,添加cocoapods頭文件目錄:目錄路徑直接寫:${SRCROOT} ? ,后邊選擇recursive 。就可以了。

注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths.

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

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

  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個負(fù)責(zé)管理iOS項目中第三方開源庫...
    輝712閱讀 3,965評論 0 7
  • 前言 前幾天發(fā)布我的開源庫<最簡單方便的iOS輪播開源庫:JYCarousel>到CocoaPods的時候。對Co...
    Dely閱讀 17,368評論 12 82
  • 什么是CocoaPods CocoaPods是開發(fā) OS X 和 iOS 應(yīng)用程序的一個第三方庫的依賴管理工具,而...
    木菀閱讀 839評論 0 5
  • CocoaPods 是什么? CocoaPods 是一個負(fù)責(zé)管理 iOS 項目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,733評論 3 51
  • 2017年6月13日,晴有風(fēng),涼爽 一個人呱呱墜地,好奇的睜眼第一次看到花花綠綠的世界,邁出人生...
    cf302fb8f796閱讀 250評論 0 0