一、概要
iOS開發(fā)時(shí)逮光,項(xiàng)目中會(huì)引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods) 可以用來方便的統(tǒng)一管理這些第三方庫嗡综。CocoaPods是iOS項(xiàng)目的依賴管理工具极景,該項(xiàng)目源碼在Github上管理盼樟。開發(fā)iOS項(xiàng)目不可避免地要使用第三方開源庫晨缴,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和第三方開源庫的時(shí)間喜庞。?在使用CocoaPods之前,開發(fā)項(xiàng)目需要用到第三方開源庫的時(shí)候雷猪,我們需要
1.把開源庫的源代碼復(fù)制到項(xiàng)目中
2.添加一些依賴框架和動(dòng)態(tài)庫
3.設(shè)置-ObjC求摇,-fno-objc-arc等參數(shù)
4.管理他們的更新
在使用CocoaPods后与境,我們只需要把用到的開源庫放到一個(gè)名為Podfile的文件中摔刁,然后執(zhí)行pod install.Cocoapods就會(huì)自動(dòng)將這些第三方開源庫的源碼下載下來海蔽,并且為我們的工程設(shè)置好響應(yīng)的系統(tǒng)依賴和編譯參數(shù)党窜。
CocoaPods的原理是將所有的依賴庫都放到另一個(gè)名為Pods的項(xiàng)目中,然后讓主項(xiàng)目依賴Pods項(xiàng)目矾削,這樣哼凯,源碼管理工作都從主項(xiàng)目移到了Pods項(xiàng)目中择镇。Pods項(xiàng)目最終會(huì)編譯成一個(gè)名為libPods.a的文件腻豌,主項(xiàng)目只需要依賴這個(gè).a文件即可吝梅。
二惹骂、安裝CocoaPods
1.首先檢查一下ruby的版本右冻,當(dāng)然Xcode5以上自帶ruby環(huán)境,不用我們?cè)诎惭b牍帚,如果不是最新系統(tǒng)最好更新一下暗赶,
在終端中運(yùn)行如下命令:
$ gem update--system
2.因?yàn)閴ψ钃趿薱ocoapods.org蹂随,所以我們需要更換Ruby鏡像
運(yùn)行如下命令:
1$ gem sources--remove https://rubygems.org/
2//等有反應(yīng)之后再敲入以下命令
3$ gem sources -ahttps://ruby.taobao.org/
驗(yàn)證Ruby鏡像中僅有taobao岳锁,在終端中運(yùn)行如下命令:
1$ gem sources-l
當(dāng)終端中出現(xiàn)如下內(nèi)容時(shí)證明已經(jīng)成功更換
*** CURRENT SOURCES ***http://ruby.taobao.org/
3.如果gem太老浸锨,可以用如下命令升級(jí)gem:
sudo gem update —system//由于sudo超級(jí)權(quán)限,所以會(huì)填用戶密碼
這時(shí)候柱搜,你再次在終端中運(yùn)行:
$ sudo gem install cocoapods//由于sudo超級(jí)權(quán)限,所以會(huì)填用戶密碼
等上十幾秒鐘,CocoaPods就可以在你本地下載并且安裝好了剥险,不再需要其他設(shè)置聪蘸。
最近把mac系統(tǒng)升級(jí)到10.11系統(tǒng),但是在用pod install命令的時(shí)候表制,卻提示command not found.后來上網(wǎng)查了下才知道健爬,Cocoapods在10.11系統(tǒng)上發(fā)生了變化。若遇到如下問題
為了解決上面提到的問題么介,以及Cocoapods在OS X 10.11系統(tǒng)上的正常使用娜遵,我們需要在命令行輸入這樣一句話,
$sudo gem install -n /usr/local/bin cocoapods
這樣就能解決Cocoapods在10.11系統(tǒng)上出現(xiàn)的問題了
4.查看下載進(jìn)度
Cocoapods在將它的信息下載到~/.cocoapods目錄下壤短,如果你等太久设拟,可以試著cd到那個(gè)目錄,用du -sh *來查看下載進(jìn)度跑慕。
pod setup
pod setup在執(zhí)行時(shí)芝雪,會(huì)輸出Setting up CocoaPods master repo
安裝好后,會(huì)出現(xiàn)"Setup completed"
三蛆挫、使用CocoaPods
1.創(chuàng)建一個(gè)新工程瞧剖,然后cd到工程所在的文件夾浇借。
可以在cd的時(shí)候把工程所在的文件夾拖到終端里,就能得到文件夾的路徑灼舍。在終端輸入cd 工程路徑(cd空格輸入完 直接把工程文件夾拖進(jìn)終端献丑,就直接顯示路徑了)回車
2.在剛才的文件夾中創(chuàng)建文件Podfile(如果存在就直接打開,不存在時(shí)創(chuàng)建)
運(yùn)行如下命令:
步驟一:
方法:$ vim Podfile
方法:$ pod init
步驟二:
我們以AFNetworking為例船老,在Podfile文件中輸入
platform :ios, ‘7.0’
pod “AFNetworking”, “~> 2.0”
其實(shí),
platform :ios
pod 'AFNetworking'
這樣子就可以了.會(huì)自動(dòng)最新的穩(wěn)定版本.
然后按ESC鍵薪韩,再輸入 :wq 保存退出
如果報(bào)錯(cuò)E45: ‘readonly’ option is set (add ! to override)則輸入 :wq!
注意,Podfile文件應(yīng)該和你的工程文件.xcodeproj在同一個(gè)目錄下桨菜。
3.往項(xiàng)目中導(dǎo)入CocoaPods
在終端的當(dāng)前項(xiàng)目目錄下運(yùn)行如下命令:
$pod install
等終端有反應(yīng)后,打開項(xiàng)目所在的文件夾,把.xcworkspace 打開,而不是之前的.xcodeproj文件。
4.頭文件路徑
如果想在項(xiàng)目中使用導(dǎo)入的第三方庫,還需要在項(xiàng)目的target中設(shè)置一下,target->Build Settings -> User Header Search Paths 選項(xiàng)中輸入${SRCROOT}琴昆,后面選上recursive舷暮。
OK. 這就完成了沥割。
5.添加其他第三方庫
按照這個(gè)格式添加:
pod ‘RegexKitLite’, ‘~> 4.0’
pod ‘ASIHTTPRequest’, ‘~> 1.8.2’
pod ‘SDWebImage’, ‘~> 3.7.1’
然后運(yùn)行命令
$pod update
——在文件中刪除cocoapods叉庐,在工程中直接刪除下列文件: