檢查pod版本及更新pod
檢查pod版本
pod --version
更新pod
sudo gem install -n /usr/local/bin sass
sudo gem install -n /usr/local/bin cocoapods
如果還是出現框架版本不是最新版本,更新Pod緩存重新初始化
rm -fr ~/.cocoapods/repos/master pod setup
*CocoaPods安裝
1. 替換ruby源
1.1 CocoaPods是基於ruby ecosystem的,需要ruby環境,使用ruby的gem命令。所以我們的系統要有ruby環境。然而Mac系統默認會安裝好ruby環境。可在終端 ruby -v 查看ruby版本:輸出如下圖

1.2 查看ruby源, 終端輸入 gem sources -l,顯示如下:(現在鏡像使用了https了,截圖有點老,下面有改正)

如果你執行后,輸出為:
*** CURRENT SOURCES ***
那么你需要更換到ruby-china的鏡像,因為https://gems.ruby-china.org/這個源在牆內是訪問不到的。所以你需要先移除這個鏡像,然后添加 ruby-china的鏡像,(我這里顯示的是源為https://gems.ruby-china.org/,所以下面就以這個源為例,刪除和添加新的源。如果你的源已經是https://gems.ruby-china.com,就不需要換了。如果不是請安下面的步驟刪除和添加新源)步驟如下。
1>.移除掉原有的源
gem sources --remove https://gems.ruby-china.org/
2>.淘寶的源已經不更新維護了,現在使用ruby-china的源哦
gem source -a https://gems.ruby-china.com
3>.驗證是否替換成功,如果顯示上面截圖的輸出就說明正確:
gem sources -l
注意:如果gem sources -l 后有多個源,只使用ruby-china這一個源就行了,其他的刪掉。
2. 更新升級 Gem 版本
- 更新升級gem,gem不更新可能導致安裝pod失敗
sudo gem update --system
-
查看gem版本
gem -v
輸出如下:


3. 安裝CocoaPods
-
如果mac系統為OS X 10.11 以前安裝命令為:
sudo gem install cocoapods // 安裝cocoapods
Mac系統為OS X EL Capitan安裝命令為:
sudo gem install -n /usr/local/bin cocoapods
-
等待其安裝成功,用命令pod --version查看是否安裝成功,如果成功會顯示pod的版本。
pod版本
如果你本地有多個xcode版本,安裝時需要你指定下安裝路徑,不然會報錯。報錯信息如下:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'... error: RPC failed; curl 56 SSLRead() return error -36 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed
解決方法: 安裝cocoapods 時使用 sudo xcode-select -switch 路徑。比如:
- 打印當前xcode的路徑
xcode-select --print-path
輸出:
/Applications/Xcode.app/Contents/Developer
- 然后在執行下面的安裝命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
如果你xcode的名稱改了例如:這時你要這樣找到xcode的路徑


先在終端輸入”sudo xcode-select -switch “,然后,打開Xcode—>右鍵顯示包內容,找到Developer文件夾拖到終端里面
這時安裝命令行如下:
sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer
小知識:如果想安裝指定版本,使用如下
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
安裝最新的release beta版本
sudo gem install -n /usr/local/bin cocoapods --pre
如果你想卸載CocoaPods怎么辦?看下面:(具體卸載流程,可以自己百度下,下面只供參考)
//卸載CocoaPods
sudo gem uninstall cocoapods
4. 更新Podspec索引文件
安裝成功后 執行pod setup:
pod setup
pod setup作用:
將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下。所有的第三方開源庫的Podspec文件都托管在https://github.com/CocoaPods/Specs,我們需要把這個Podspec文件保存到本地,這樣才能讓我們使用命令pod search 開源庫搜索一個開源庫,怎樣才能把github上的Podspec文件保存本地呢?那就是 pod setup
執行pod setup時,CocoaPods 會將第三方的podspec索引文件更新到本地的~/.cocoapods/repos目錄下。
但是第一次執行pod setup時,這個github的Podspec索引文件比較大,有 300M 左右(以后會越來越大的),所以第一次更新時非常慢.要耐心等待…..
最后當出現 Setup completed 表示setup完成。
如果遇到如下報錯:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 2016093, done.
remote: Compressing objects: 100% (555/555), done.
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
可能是Git的傳輸字節限制引起的,這時候使用 git config -l,查看Git配置,如下圖,紅色框是我配置的傳輸字節大小。

解決方法:修改 傳輸字節限制,使用以下方法。后面的限制數字,可以自己定大小(524288000,相當於500M)
git config --global http.postBuffer 1048576000
執行后在 git config -l,看看是否修改成功。
如果遇到如下報錯:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解決方法:更換鏡像下載地址
1.進入pod目錄
cd ~/.cocoapods/repos
2.移除master
pod repo remove master
3.添加清華鏡像
pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
4.更新
pod repo update
如果第三步沒有成功,(有的版本CocoaPods 不允許用pod repo add直接添加master庫了)可以使用下面的方法
1.進入pod目錄
cd ~/.cocoapods/repos
2.移除master
pod repo remove master
3.添加清華鏡像
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
上述步驟成功后,需要進入自己的工程,在自己工程的podFile第一行加上:(這個代表你從哪里拉取Git代碼)
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
*CocoaPods的使用方法
1、安裝完以后,終端輸入:
pod search AFNetworking
成功后會,顯示AFNetworking的相關信息 (注意:要在根目錄下使用pod search,不要進入那個文件夾下使用。),如果你的pod 版本是1.8以上的時候,pod search 會出現以下錯誤 :[!] CDN: trunk Repo update failed (沒有的請忽略),解決方法在下面的第三步,新建一個名為Podfile的文件里


2、進入項目目錄 cd 文件路徑


3、新建一個名為Podfile的文件
touch Podfile


touch Podfile是建一個空白的文件,文件名是Podfile
執行完后可以在項目文件夾下看到這個文件,如下:


4、 編輯 Podfile文件
編輯文件有2中方法,第一種:直接雙擊文件打開,輸入以下內容,保存
platform :ios, '7.0' target 'SwiftFirst' do pod 'AFNetworking', '~> 3.1.0' end
其中 target 'SwiftFirst’ do 中的SwiftFirst是你的項目名稱,platform :ios, ‘7.0' 支持最低的ios平台,pod 'AFNetworking', '~> 3.1.0’ 安裝AFNetworking 3.1.0 版本,安裝那個版本需要先pod search 這個第三方庫,如果搜索不到,安裝會失敗
第二種使用終端:(推薦使用)
還是在項目目錄下,輸入vim Podfile,然后 按鍵盤的“i”鍵 編輯,輸入上面的文本內容:


編輯完成后想要退出保存步驟: 先按左上角的esc鍵,再按:鍵,再輸入wq,點擊回車,就保存並退出去了。
注意:如果你pod版本再1.8 以上,pod search 出現以下錯誤 :[!] CDN: trunk Repo update failed (沒有的請忽略)時。解決方法如下:
- podfile文件中指定source源為master,(寫在第一行):
source 'https://github.com/CocoaPods/Specs.git'
- cd到項目目錄下,執行pod repo remove trunk移除trunk源
pod repo remove trunk
- cd --到根目錄下,在執行pod search AFNetworking,就能搜到AFNetworking。


參考鏈接:[!] CDN: trunk Repo update failed
5、 下載第三方庫
注意安裝的時候,最好把xcode先關掉,進入項目文件夾下,執行 pod install
pod install
當出現 Pod installation complete 的時候,說明成功了,這時候打開項目文件夾,發現多了幾個文件,如下


這時候雙擊打開后綴名為.xcworkspace文件,就可以看到你引入的第三方庫了


感謝以下作者的文章,如果有什么不足,歡迎下方指正。
參考鏈接:
安裝CocoaPods報"RPC failed; curl 18 transfer closed with outstanding read data remaining".
Cocopods安裝和使用教程.
安裝CocoaPods步驟.
作者:GatesLand
鏈接:https://www.jianshu.com/p/c2f9491485ec
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。