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下来,然后改一下你要变成的版本执行一下即可。
那就出发吧。什么都可以舍弃,投身走一段长长的路程。