CocoaPods的官網(wǎng):https://guides.cocoapods.org
一.什么是CocoaPods
這兩年iOS開發(fā)的發(fā)展,不用我給大家多說了,可以說是十分迅猛,每種語言在發(fā)展到一定的階段都會出現(xiàn)一些相應的依賴管理工具,而CocoaPods就是iOS的依賴管理工具
CocoaPods的源碼在GitHUB上管理,該項目起于2011年8月12日,經(jīng)過多年的發(fā)展,現(xiàn)在已經(jīng)成為iOS實際開發(fā)中標準的依賴工具.因為在開發(fā)中總是不可避免的用到一些第三方開源庫,CocoaPods的出現(xiàn)使我們在使用三方開源庫時能節(jié)約不少的時間,提升了開發(fā)者的工作效率.
二.為什么要用到CocoaPods
-
大家都知道三方開源庫最普通的導入方式是手動添加,有的三方庫甚至要手動導入N個文件,而且每個文件都要手動導入,其中則容易出現(xiàn)紕漏.下面是普通導入方法的大致步驟:
1.把開源庫的源代碼復制到項目當中.
2.要添加上述所需的動態(tài)庫和框架.
3.設置-ObjC,-fno-objc-arc等參數(shù).(解決匯編,arc/mrc之間沖突問題).
4.管理他們的更新.
但是當我們使用了CocoaPods以后,所有的三方開源庫就都被放到一個Podfile文件中.當需要添加三方開源庫的時候就pod install,更新的時候就pod update,操作簡單,一目了然...
三.CocoaPods的原理
- CocoaPods的原理是將所有的依賴庫都放到另一個名為Pods的項目中,然后讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中。Pods項目最終會編譯成一個名為libPods.a的文件,主項目只需要依賴這個.a文件即可。
四.CocoaPods的安裝
CocoaPods可以方便地通過Mac自帶的RubyGems安裝。
打開Terminal(Mac電腦自帶的終端),然后按照以下提示操作即可:
1.設置ruby的軟件源:
-
這是因為ruby的軟件源rubygems.org因為使用亞馬遜的云服務,被我天朝屏蔽了,需要更新一下ruby的源,過程如下:
gem sources -l (查看當前ruby的源)
gem sources --remove https://rubygems.org/ (移除當前ruby的源)
gem sources -a https://ruby.taobao.org/ (設置當前ruby的源為我天朝的)
gem sources -l (再次查看當前ruby的源)
如果Terminal輸出:
*** CURRENT SOURCES ***
就證明ruby的軟件源已經(jīng)設置OK了。
2.設置gem為最新版本:
-
如果gem太老,可以嘗試用如下命令升級gem:
sudo gem update --system
升級成功后會提示: Latest version currently installed. Aborting.
3.執(zhí)行安裝CocoaPods命令:
-
注意:OS X 10.11 升級,雖然官方聲稱只是一個小的升級,但對于開發(fā)者而言,cocoapods需要重新安裝,但按照以前的安裝方式,在Terminal輸入以下命令:
sudo gem install cocoapods
如果報以下錯誤:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解決方案1:
執(zhí)行下面的命令并重啟
sudo nvram boot-args="rootless=0"
sudo reboot
重啟之后, 執(zhí)行這個命令檢查
sudo gem install cocoapods -V
ps : 如果依舊有錯誤,使用第二個方案
解決方案2:
sudo gem install -n /usr/local/bin cocoapods
pod setup
還有一點需要注意,pod setup在執(zhí)行時,會輸出Setting up CocoaPods master repo,但是會等待比較久的時間。這步其實是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久,可以試著 cd 到那個目錄,用du -sh *來查看下載進度。
安裝成功后,你會看到:Setup completed
五、Cocoapods的使用
-
隨便以一種方式新建一個名為Podfile的文件放到你的工程根目錄下(不能寫成別的名字,也可以自己在工程根目錄里面直接新建)
Podfile文件內(nèi)容的格式應該如下:
platform :ios, '8.0' #(注明你的開發(fā)平臺以及版本,'8.0'忽略不寫即為最新版本)
pod 'AFNetworking', '~> 2.5.3' #('~> 2.5.3'為版本號,忽略不寫即為最新版本)
pod 'SDWebImage', '~> 3.7.2'
然后在Terminal進入工程所在的根目錄(工程根目錄)中執(zhí)行 :
pod install
-
這樣,AFNetworking和SDWebImage就已經(jīng)下載完成并且設置好了編譯參數(shù)和依賴,以后使用的時候切記如下兩點:
1.從此以后需要使用Cocoapods生成的 .xcworkspace文件來打開工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新執(zhí)行一次pod update命令