vi有時候ruby版本過低同樣會導致pod安裝失敗。可以使用ruby -v命令查看當前ruby的版本
1.$ curl -L https://get.rvm.io | bash -s stable
2.載入rvm環境:$ source ~/.rvm/scripts/rvm
3.檢查是否安裝成功,輸入下面命令出現版本號等信息表示安裝成功rvm -v
4.用rvm安裝ruby環境 $ rvm install 2.2.2
5.設置為默認版本 rvm use 2.2.2 --default
補充一些常用命令
? rvm list 查看已安裝ruby
? rvm list known 列出ruby可安裝版本信息
? rvm remove 2.2.2 卸載一個已安裝的ruby版本
? gem source 查看已有源
? gem sources -a http://ruby.taobao.org把源切換至淘寶鏡像服務器
下面安裝pod:
sudo gem install cocoapods用這個命令會報錯誤
然后pod search afnetworking 一直卡著不動了,原來淘寶的鏡像不用了,改用阿里的了,應該把淘寶鏡像移除掉,用gem sources -a https://gems.ruby-china.org/,繼續安裝pod:
(1)$sudo gem install cocoapods 備注:蘋果系統升級 OS X EL Capitan 后改為$sudo gem install -n /usr/local/bin cocoapods
(2)$pod setup ?等了好久,也報了好幾個錯誤,其中有一個錯誤是因為網絡原因,
(3).更新gem
$sudo gem update --system。。。。報錯
(4).這個時候搜索你需要的第三方庫,比如:pod search afnetworking 就可以了,把需要用的版本信息copy下來。按q鍵退出。
(5).cd到項目下,終端命令輸入:cd 然后把桌面上的項目拖進去即可
(6).在工程中創建一個Podfile文件
然后使用vim編輯Podfile文件,使用命令:
$ vim Podfile進入如下界面
然后緊接著按鍵盤上的“i”鍵,這個時候可以對Podfile文件進行編輯:
platform:ios, ‘8.0‘
target'項目名稱' do 項目名稱就是MVVMModel.xcodeproj去掉后綴
pod ‘AFNetworking‘, ‘~> 2.3.1‘
end
如果是導入ReactiveCocoa 在vim編輯器的最上面加上use_frameworks!
在編輯完成后按“esc”
在按“:”,這個時候輸入wq,點擊回車,保存并退出。
(8).然后在終端輸入命令安裝相應的第三方類庫pod install,如果長時間沒有反應 證明被墻了 換成pod install --verbose --no-repo-update這個命令,因為這個過程需要下載相應的類庫,所以時間和網速有關。
如果需要依賴多個第三方類庫,只需要修改 Podfile 文件的配置,然后運行 pod update 命令即可,如果類庫有更新,查看更新配置并執行 pod update 即可簡單完成了
pod install與pod update區別:
1.使用pod install來安裝新的庫,即使你的工程里面已經有了Podfile,并且已經執行過pod install命令了;所以即使你是添加或移除庫,都應該使用pod install。
2.使用pod update [PODNAME] 只有在你需要更新庫到更新的版本時候用。
小技巧:
最近使用CocoaPods來添加第三方類庫,無論是執行pod install還是pod update都卡在了Analyzing dependencies不動
原因在于當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數可以省略這一步,然后速度就會提升不少。加參數的命令如下:
podinstall--verbose --no-repo-update
podupdate--verbose --no-repo-update
2018.5.22 新改動
現在淘寶鏡像不再更新了,改用https://gems.ruby-china.org/
這是因為taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務,正確的操作是:
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
$ gem sources --remove https://ruby.taobao.org/ ? ? ? //如果安裝了淘寶的鏡像
//等有反應之后再敲入以下命令
gem sources -a https://gems.ruby-china.org/
為了驗證你的Ruby鏡像是并且僅是ruby-china,可以用以下命令查看:
$ gem sources -l
只有在終端中出現下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
# 確保只有 gems.ruby-china.org
然后進行安裝:執行?sudo gem install -n /usr/local/bin cocoapods
再加一句:sudo xcode-select --switch/Applications/Xcode.app
pod setup 完成。
pod 更新第三方依賴遇到的 object version 問題
錯誤提示:RuntimeError - [Xcodeproj] Unknown object version.
/Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:217:in?initialize_from_file' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:102:inopen'
/Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:695:in?block (2 levels) in inspect_targets_to_integrate' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:694:ineach'..............
原因:就是你的xcode版本和現在CocoaPods 的版本問題不匹配 ?比如你用xcode8 你的cocoaPods 版本是1.0.1 . 就有可能出現此類問題。因為xcode8需要cocoaPods1.1.0.
解決方法:
就是更新cocoaPods的版本 ,在終端執行如下命令gem install cocoapods --pre,然后在相對應podfile文件所在路徑下執行pod install 即可。