一.什么是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