COCOAPODS

一.什么是CocoaPods?

CocoaPods是一個用來幫助我們管理第三方依賴庫的工具。

它可以解決庫與庫之間的依賴關系,下載庫的源代碼,同時通過創建一個Xcode的workspace來將這些第三方庫和我們的工程連接起來,供我們開發使用。

使用CocoaPods的目的是讓我們能自動化的、集中的、直觀的管理第三方開源庫。

二.為什么需要CocoaPods?

在進行iOS開發的時候,總免不了使用第三方的開源庫,比如AFNetworking、SDWebImage、SVProgressHUD等等。使用這些庫的時候通常需要:

1.下載開源庫的源代碼并引入工程

2.向工程中添加開源庫使用到的framework

3.解決開源庫和開源庫以及開源庫和工程之間的依賴關系、檢查重復添? ? 加的framework等問題

4.如果開源庫有更新的時候,還需要將工程中使用的開源庫刪除,重新執行前面的三個步驟,頓時頭都大了。。。

自從有了CocoaPods以后,這些繁雜的工作就不再需要我們親力親為了,只需要我們做好少量的配置工作,CocoaPods會為我們做好一切!

三.安裝CocoaPods

CocoaPods是用Ruby實現的,要想使用它首先需要有Ruby的環境。幸運的是OS X系統默認的已經可以運行Ruby了,因此我們只需要執行以下命令:

更換源:

Gem是一個管理Ruby庫和程序的標準包,它通過Ruby Gem(如http://rubygems.org/)源來查找、安裝、升級和卸載軟件包

1.移除掉原有的源(服務器在國外,速度較慢)gem sources --remove https://rubygems.org

2.等有反應之后再敲入以下命令(添加國內的源)(前段時間,taobao.org源統一換成https協議了,請注意)

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

3.驗證是否替換成功gem sources -l

2.更新升級gem:

gem是管理Ruby庫和程序的標準包,如果它的版本過低也可能導致安裝失敗,解決方案自然是升級gem,執行下述命令即可:

更新升級sudo gem update --system

3.安裝CocoaPods:

安裝CocoaPods : sudo gem install cocoapods

4.更換repo鏡像為國內服務器:

1.移除原有服務器 pod repo remove master

2.添加境內服務器(建議使用第一個)

pod repo add master https://gitcafe.com/akuandev/Specs.git

pod repo add master http://git.oschina.net/akuandev/Specs.git(開源中國較慢)

四.使用CocoaPods

如果之前做的一切順利,接下來就可以體驗體驗CocoaPods的神奇之處了,需要經過以下幾步:

1.初始化第三方庫信息:

// 初始化 pod setup

以后更新第三方庫信息:

// 更新 pod repo update

2.搜索:

// 搜索 pod search mjrefresh

copy 所需庫的版本號等信息


3.新建Podfile:

cd /Users/shiyunlei/Desktop/CocoapodsSample(進入工程目錄,cd后面的是工程的路徑)

進入到工程的根目錄下,使用

pod init

創建空白的Podfile文件,創建完畢的目錄結構如下圖

使用xcode打開這個文件

platform :ios, '8.0'

use_frameworks!

pod 'Alamofire', '~> 3.0'

然后在終端輸入命令安裝相應的第三方類庫

$pod install

因為這個過程需要下載相應的類庫,所以時間和網速有關。

安裝成功之后截圖如下:

這個時候會看到之后打開工程都需要從類型為工程名.xcworkspace文件打開。

5.編輯Podfile:

# Uncomment this line to define a global platform for your project

# platform :ios, '8.0'

# Uncomment this line if you're using Swift

use_frameworks!

target 'YourProjectName' do

pod 'SwiftyJSON', '~> 2.1'

pod 'SwiftSpinner', '~> 0.6'

pod 'Alamofire', '~> 1.1'

pod 'SuperRecord', '~> 1.2'

pod 'Toucan

// all other pods goes here

end

target 'YourProjectName' do

end

target 'YourProjectName' do

end

6.解析Podfile:

// 1.安裝第三方框架pod install --verbose --no-repo-update// 2.升級第三方框架pod update

完成后,我們需要使用CocoaPodsTest.xcworkspace文件來開發。

對于工程發生的變化,有幾點需要說明:

第三方庫會被編譯成靜態庫供我們正真的工程使用

CocoaPods會將所有的第三方庫以target的方式組成一個名為Pods的工程,該工程就放在剛才新生成的Pods目錄下。整個第三方庫工程會生成一個名稱為libPods.a的靜態庫提供給我們自己的CocoaPodsTest工程使用。

我們的工程和第三方庫所在的工程會由一個新生成的workspace管理

為了方便我們直觀的管理工程和第三方庫,CocoaPodsTest工程和Pods工程會被以workspace的形式組織和管理,也就是我們剛才看到的CocoaPodsTest.xcworkspace文件。

原來的工程設置已經被更改了,這時候我們直接打開原來的工程文件去編譯就會報錯,只能使用新生成的workspace來進行項目管理。

5.常見問題解決

以后使用CocoaPods過程中出現了莫名其妙的問題,執行下面命令

-sudo gem update --system

-sudo gem install cocoa pods

-pod setup

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

推薦閱讀更多精彩內容

  • CocoaPods 是什么? CocoaPods 是一個負責管理 iOS 項目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,735評論 3 51
  • 項目組件化、平臺化是技術公司的共同目標,越來越多的技術公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構...
    swu_luo閱讀 22,093評論 0 39
  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個負責管理iOS項目中第三方開源庫...
    輝712閱讀 3,969評論 0 7
  • 七律·李夫人 佳人獨立貌傾國, 漢武思妃夢嬌娥。 娟衣輕揮踏微步, 襦裙暗弄舞婆娑。 姍姍細語嗔來遲, 落落珠簾映...
    sksks閱讀 272評論 0 0
  • goods 商品,price 價格,商品價格,單價quantity 數量,商品數量sum 商品價格小計,即 pri...
    uc小天閱讀 201評論 0 0