一. CocoaPods的介紹
什么是CocoaPods狐蜕?CocoaPods是一個負(fù)責(zé)管理iOS項目中第三方開源庫的工具屎债,CocoaPods的項目源碼在https://github.com/CocoaPods/Specs上管理亭姥。
經(jīng)過CocoaPods團(tuán)隊的不懈努力差牛,2016年5月10號以政,CocoaPods終于在其官方博客上宣布正式發(fā)布CocoaPods 1.0帮哈。與此同時,公開了相應(yīng)的Mac版App——CocoaPods App 1.0 馅扣。
CocoaPods App 1.0 的下載地址:https://cocoapods.org/app 現(xiàn)在應(yīng)該是最新的1.1.1版本了
二. CocoaPods的安裝
1. 替換ruby源
CocoaPods是基于ruby ecosystem的斟赚,需要ruby環(huán)境,使用ruby的gem命令差油。所以我們的系統(tǒng)要有ruby環(huán)境汁展。然而Mac系統(tǒng)默認(rèn)會安裝好ruby環(huán)境⊙嵫常可在終端ruby -v
查看ruby版本:
//查看ruby版本ruby -v//輸出信息ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
查看ruby源
gem sources -l
默認(rèn)情況下食绿,終端會顯示下面:
*** CURRENT SOURCES ***https://rubygems.org/
當(dāng)然這個源在墻內(nèi)是訪問不到的,所以要更換到ruby-china的鏡像
// 1.移除掉原有的源
gem sources --remove https://rubygems.org
///2.淘寶的源已經(jīng)不更新維護(hù)了,現(xiàn)在使用ruby-china的源
gem source -a https://gems.ruby-china.org
以下命令添加淘寶的源:(不建議繼續(xù)使用)
gem sources -a https://ruby.taobao.org
/// 3.驗證是否替換成功
gem sources -l
如果顯示下面輸出就說明正確:
*** CURRENT SOURCES ***https://gems.ruby-china.org
2. 更新升級 Gem 版本
Gem是管理Ruby庫和程序的標(biāo)準(zhǔn)包公罕,如果它的版本過低也可能導(dǎo)致安裝失敗器紧,解決方案自然是升級Gem,執(zhí)行下述命令即可:
// 更新升級gem楼眷,國內(nèi)需要切換源sudo gem update --system
查看gem版本
gem -v2.6.8
3. 安裝CocoaPods
OS X 10.11 以前安裝命令為:
sudo gem install cocoapods// 安裝cocoapods
Mac系統(tǒng)為OS X EL Capitan安裝命令為:
//安裝最新版本
sudo gem install -n /usr/local/bin cocoa pods
//安裝指定版本
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
//安裝最新的release beta版本
sudo gem install -n /usr/local/bin cocoapods --pre
如果你想卸載CocoaPods怎么辦铲汪?看下面:
//卸載CocoaPodssudo
gem uninstall cocoapods
4. 更新Podspec索引文件
如果按照上面3個步驟沒問題,用命令pod --version 查看是否安裝成功罐柳,如果成功會顯示pod的版本掌腰。
- 但是 會出現(xiàn)如下問題
ERROR: SSL verification error at depth 1: unable to get local issuer certificate (20)
ERROR: You must add /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority to your local trusted store
ERROR: SSL verification error at depth 2: self signed certificate in certificate chain (19)
ERROR: Root certificate is not trusted (/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA)
出現(xiàn)這個問題的原因主要是Ruby環(huán)境需要2.2版本以上,所以要更新Ruby環(huán)境张吉。
更新Ruby環(huán)境
//首先安裝Homebrew 終端輸入這條命令
/usr/bin/ruby -e "$(curl -fsSl https://raw.githubusercontent.com/Homebrew/install/master/install)"
//安裝rvm
curl -Lget.rvm.io | bash -s stable
//裝載rvm
source ~/.rvm/scripts/rvm
//安裝2.3.0版本ruby
rvm install 2.3.0
//將2.3.0設(shè)為默認(rèn)
rvm use 2.3.0 --default
這樣就解決了上面的error
如果按照上面3個步驟沒問題齿梁,用命令pod --version 查看是否安裝成功,如果成功會顯示pod的版本肮蛹。
pod setup作用:將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos
目錄下
pod安裝成功之后一個首先的操作就是執(zhí)行命令(不是必須的):
pod setup
所有的第三方開源庫的Podspec文件都托管在https://github.com/CocoaPods/Specs
我們需要把這個Podspec文件保存到本地勺择,這樣才能讓我們使用命令pod search 開源庫
搜索一個開源庫,怎樣才能把github上的Podspec文件保存本地呢伦忠?那就是 pod setup
執(zhí)行pod setup時省核,CocoaPods 會將第三方的podspec索引文件更新到本地的~/.cocoapods/repos
目錄下
如果沒有執(zhí)行過 pod setup,那用戶根目錄下~找不到.cocoapods/repos
目錄的昆码,沒有創(chuàng)建這個目錄气忠。
如果執(zhí)行 pod setup邻储,并且命令沒有執(zhí)行成功,那么會創(chuàng)建~/.cocoapods/repos
目錄旧噪,只不過目錄是空的吨娜。
如果執(zhí)行 pod setup,并且命令執(zhí)行成功舌菜,說明把github上的Podsepc文件更新到本地萌壳,那么會創(chuàng)建~/.cocoapods/repos
目錄亦镶,并且repos目錄
里有一個master目錄
日月,這個master目錄保存的就是github上所有第三方開源庫的Podspec索引文件。
但是第一次執(zhí)行pod setup時缤骨,這個github的Podspec索引文件比較大爱咬,有 300M 左右(以后會越來越大的),所以第一次更新時非常慢.要耐心等待......可以進(jìn)去目錄~/.cocoapods/repos
使用命令du -sh *
來查看下載文件的大小了
怎么才能快點呢绊起?網(wǎng)上好多給出都是更換索引庫的鏡像精拟,gitcafe和oschina, gitcafe已經(jīng)被coding收購了(2016年3月份左右收購)虱歪。這兩個我親測蜂绎,現(xiàn)在都不行了(可能是我網(wǎng)速不好,基本上就是連接失敗笋鄙,有空網(wǎng)速好點的時候我在測試一下)师枣。所以還是別更換 CocoaPods 索引庫的鏡像了。
由于網(wǎng)絡(luò)原因萧落,践美,有時候會出現(xiàn)連接超時,找岖,多試幾次 就會好了
如果一直卡在 Setting up CocoaPods master repo
可以進(jìn)去目錄~/.cocoapods/repos
使用命令du -sh 查看文件大小 如下圖所示 就耐心等待
你妹的 陨倡,最后竟然 940M 我都服了 但是repos 文件的大小是500多M 不管了 反正下載完事了
三. CocoaPods的使用
//cd進(jìn)入項目的根目錄
//會生成模板的Podfile文件
pod init
然后添加 例如下面的庫
pod 'AFNetworking'
pod 'JYCarousel', '0.0.1'
pod 'WCJCache', :git => "http://gitlab.9ijx.com/iOS/WCJCache.git"
最后 pod install 安裝
關(guān)于Podfile.lock
的文件
執(zhí)行pod install
之后,CocoaPods會生成一個名為Podfile.lock
的文件许布。并鎖定當(dāng)前各依賴庫的版本兴革,之后如果多次執(zhí)行pod install
或者團(tuán)隊中的其它人check下來這份包含Podfile.lock
文件的工程后再執(zhí)行pod install
命令時,獲取下來的Pods依賴庫的版本就和最開始用戶獲取到的版本一致蜜唾。如果沒有Podfile.lock
文件帖旨,執(zhí)行pod install
命令會獲取第三方庫的最新版本,這就有可能造成同一個團(tuán)隊使用的依賴庫版本不一致灵妨,這對團(tuán)隊協(xié)作的危害無疑是災(zāi)難性的解阅!在這種情況下,如果團(tuán)隊想使用當(dāng)前最新版本的依賴庫泌霍,有兩種方案可修改Podfile.lock
的紀(jì)錄:
更改Podfile
中各依賴庫的版本
執(zhí)行pod update
命令
鑒于Podfile.lock
文件對團(tuán)隊協(xié)作如此重要货抄,我們應(yīng)該將它添加到版本控制里述召。
點擊前往CocoaPods官網(wǎng)查看對Podfile.lock
的介紹。