![Uploading 8FB0E81F-0248-4B0C-ABD0-32D057FD66AB_705924.png . . .]
前言:最近幾天在安裝cocoaPods的時候遇到了N多問題,首先是以前用的淘寶Ruby鏡像已經(jīng)不能用了,需要添加(https://gems.ruby-china.org)鏡像才可以使用.以下是我總結(jié)的幾種安裝cocoaPods的最新教程.
第一種方式(這種方式是比較慢的,不推薦)
1 . 首先mac系統(tǒng)是已經(jīng)默認安裝好Ruby環(huán)境的(除非你自己刪除)如果你不確定系統(tǒng)是否有Ruby, 可以在終端輸入命令檢查ruby版本.
$ ruby -v

2 . 查看當前服務器
$ gem sources -l

3 . 刪除當前ruby服務器
$ gem sources --remove https://rubygems.org/
4 . 添加最新的ruby服務器,(注意淘寶的鏡像已經(jīng)不能用了,https://gems.ruby-china.org 是可以用的)
$gem sources -a https://gems.ruby-china.org/
5 . 添加成功之后再檢查一下新源是否替換成功,如果只有這一個ruby源的話就說明替換成功了.如果多了其他的就執(zhí)行第三部把那個多余的源刪除就可以了.
gem sources -l

6 . 安裝cocoapods
$sudo gem install cocoapods 備注: 蘋果系統(tǒng)升級 OS X EL Capitan 后改為
$sudo gem install -n /usr/local/bin cocoapods
此后需要輸入電腦密碼, 過一段時間后返回以下字樣信息
+ gems installed
就說明安裝成功了.不過這一步的過程非常緩慢,沒關系,小編給你帶來第二種安裝cocoapods的方式.
這一步過程比較緩慢,可以重新打開一個終端查看下載的進度.
cd ~/.cocoapods
然后每隔幾分鐘在終端輸入du -sh *
如果你看到下載的進度在慢慢變大,說明cocoapods正在下載中,耐心等待就行了.大概到330M的時候就完成了.
第二種方式 git clone方式安裝cocoapods(推薦)
1 . 在終端中,進入到該目錄下
cd ~/.cocoapods/repos
2 . 若沒有以上目錄,執(zhí)行下面指令,出現(xiàn).cocoapods的目錄后可以ctrl+c終止安裝。sudo gem install cocoapods是常規(guī)的安裝方法,不過現(xiàn)在只是用來建立一下.cocoapods目錄。手動建立.cocoapods目錄應該也是可以的,不過沒試過。如果能進入~/.cocoapods/repos的目錄就忽略下面一條指令。
sudo gem install cocoapods
3 . 克隆一個Specs庫,在終端必須進入到~/.cocoapods/repos的目錄才執(zhí)行以下命令。
git clone https://github.com/CocoaPods/Specs
4 . 完成后,執(zhí)行open .打開當前目錄repos.
open .
5 . 然后把Specs目錄改名為master即可。

如果gitclone還慢的話,直接上https://github.com/CocoaPods/Specs點擊下載。根據(jù)上面的目錄結(jié)構(gòu)圖,放對了就好。

****************分割線****************
安裝中遇到的錯誤
1 . ERROR: Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.
這是因為系統(tǒng)自帶的Ruby版本是2.0.0,提示需要Ruby的版本在2.2.2以上。因為cocoapods時通過Ruby服務器下載的,所以必須先更新Ruby,才能繼續(xù)下載cocoapods
解決方法:請參考 http://blog.csdn.net/wangyanchang21/article/details/51885383 博主的解決方法非常詳細
按博主提供方法解決錯誤后,查詢Ruby版本:此時ruby服務器更新成功
$ ruby -v

2 .在pod search AFNetworking時報錯
[!] Unable to find a pod with name, author, summary, or descriptionmatching AFNetworking
解決方法:輸入
rm ~/Library/Caches/CocoaPods/search_index.json
后在一次輸入:
pod search AFNetworking
就可以解決.
提示: 在搜索完成之后終端不會自動推送,需要按鍵盤Q手動退出搜索
3 .Setting up CocoaPods master repo
[!] /usr/bin/Git clone https://github.com/CocoaPods/Specs.git master
Cloning into ‘master’…error: RPC failed; result=56, HTTP code = 200fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed
**解決方案: **首先通過終端cd到~/.cocoapods/repos下,在此目錄下,輸入終端命令:
git clone ‘https://github.com/CocoaPods/Specs.git’ master
剩下的就是漫長的等待,文件比較大,可能花費些時間,結(jié)果如下所示:
Cloning into ‘master’…
remote: Counting objects: 760233, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 760233 (delta 12), reused 0 (delta 0), pack-reused 760197
Receiving objects: 100% (760233/760233), 350.74 MiB | 44.00 KiB/s, done.
Resolving deltas: 100% (324910/324910), done.
Checking connectivity… done.
Checking out files: 100% (98969/98969), done.
完成后就可繼續(xù)安裝,即使用:
pod setup
4 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git masterCloning into 'master'...error: RPC failed; curl 56 SSLRead() return error -36fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed
[!] Unable to add a source with urlhttps://github.com/CocoaPods/Specs.gitnamedmaster-1. You can try adding it manually in~/.cocoapods/reposor viapod repo add. 是由于安裝了多個Xcode導致路徑變了,
**解決方案: **打開終端命令行,輸入一下命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
并不一定是這行代碼,要根據(jù)自己的情況,來修改這個命令行
一個xcode執(zhí)行這行肯定沒問題
如果你是多個xcode的話

那么你的命令行就要修改一下:
sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developerps:問題還存在,把xcode全部卸載,只裝一個最新的。
5 .fatal: unable to access 'https://github.com/AFNetworking/AFNetworking.git/': SSLRead() return error -9806
這個情況是網(wǎng)絡問題, 再執(zhí)行一次試試.
****************分割線****************
CocoaPods的使用
1 .新建工程,并在終端用cd指令到文件夾內(nèi)
$pod search 第三方
2 .新建文件 vim “Podfile”
$vim Podfile
寫入以下內(nèi)容并保存 小提示:(終端vim文件 按 i 可編輯 ,esc 退出編輯,:wq 可保存退出)
platform :ios, '8.0'
target '項目target名' do
pod 'AFNetworking', '~> 3.1.0'
end
注意 : target名是工程名,例如xx.xcodeproj的工程名就是xx
3 . 導入第三方庫
$pod install
小技巧:
最近使用CocoaPods來添加第三方類庫,無論是執(zhí)行pod install還是pod update都卡在了Analyzing dependencies不動
原因在于當執(zhí)行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數(shù)可以省略這一步,然后速度就會提升不少。加參數(shù)的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
pod install與pod update區(qū)別:
1.使用pod install來安裝新的庫,即使你的工程里面已經(jīng)有了Podfile,并且已經(jīng)執(zhí)行過pod install命令了;所以即使你是添加或移除庫,都應該使用pod install。
2.使用pod update [PODNAME] 只有在你需要更新庫到更新的版本時候用。