1、移除現有Ruby默認源
$ gem sources --remove https://rubygems.org/
2、使用新的源
$ gem sources -a https://ruby.taobao.org/
備注:現在貌似淘寶也不更新了,可以自行上網搜一個源站。
解釋一下步驟1和步驟2的作用:
其實就是為了電腦在連不上外網情況下使用的鏡像源站,不然的話,后續pod install會失敗。
如果電腦能連接外網,沒必要換源。
3、驗證新源是否替換成功
$ gem sources -l
4、安裝CocoaPods
$ sudo gem install cocoapods
蘋果系統升級 OS X EL Capitan 后,上述命令改為:
$ sudo gem install -n /usr/local/bin cocoapods
然后進行setup操作:
$ pod setup
5、更新gem
$ sudo gem update --system
6、新建工程,並在終端用cd指令到文件夾內
$ pod search protobuf
7、新建Podfile文件
$ vim Podfile
寫入以下內容並保存,小提示:(終端vim文件 按 i 可編輯 ,esc 退出編輯,:wq 可保存退出)
# Uncomment this line to define a global platform for your project platform :ios, '9.0' workspace 'WebRTCDemo.xcworkspace' project 'WebRTCDemo.xcodeproj' inhibit_all_warnings! target 'WebRTCDemo' do pod 'MBProgressHUD', '1.1.0' pod 'ZQAlterField' pod 'Masonry', '1.1.0' end
8、導入第三方庫
$ pod install
9、打開xcworkspace文件,啟動工程
$ open WebRTCDemo.xcworkspace
以下是我用以前的安裝流程安裝時出現的一些錯誤,總結如下:
錯誤1:
Error fetching
http://ruby.taobao.org/:
bad response Not Found 404 (
http://ruby.taobao.org/specs.4.8.gz)
解決方案:把安裝流程中的指令
$ gem sources -a http://ruby.taobao.org/
改為:
$ gem sources -a https://ruby.taobao.org/
錯誤2:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解決方案:蘋果系統升級OS X EL Capitan后會出現的插件錯誤,將安裝流程4中的安裝CocoaPods的指令$ sudo gem install cocoapods,改為:
$ sudo gem install -n /usr/local/bin cocoapods
錯誤3:
[!] Unable to satisfy the following requirements: - `AVOSCloud (~> 3.1.6.3)` required by `Podfile`
Specs satisfying the `AVOSCloud (~> 3.1.6.3)` dependency were found, but they required a higher minimum deployment target.
解決方案:安裝流程:Podfile文件中 platform:ios, ‘6.0’ 后邊的 6.0 是平台版本號 ,一定要加上
錯誤四:
pod setup非常慢:
解決方案:在GitHub上找到Specs后fork到自己的工程,然后使用工具GitHub Desktop工具把Specs下載下來,更名成master,替換路徑~/.cocoapods/repos目錄下的master,就可以正常使用了。
錯誤五:
pod search失敗:
解決方案:
錯誤六:
pod search后出現Creating search index for spec repo 'master'.. Done!的情況
解決方案:
錯誤七:
gem報錯:
$ gem --version
解決方案: 返回結果失敗,那么可能的原因是電腦里面存在兩個gem,刪除只剩一個就好了,如下:
$ where gem
即可找到gem的地址,對應刪除不必要的gem。
錯誤八:
Podfile.lock里面的PODFILE CHECKSUM和別人的不一樣:
checksum是通過SHA-1算法算出來的。通過它可以確保多人協作的時候,大家使用的是相同版本的第三方庫。
解決方案:如果你的CHECKSUM和別人的不一樣,很可能是你pod版本的問題,那么對應做pod版本的升降級。
可參考我的repo,把腳本clone下來,然后改一下你要變成的版本執行一下即可。