前期准备
- 检测Ruby镜像地址
gem sources -l
默认情况下,终端应该返回如下信息 https://rubygems.org/
如果是这个地址,一般是访问不到cocoapods的,一般方法是用淘宝的RubyGems镜像来代替官方版本.
- 移除原来的镜像地址
gem sources --remove https://rubygems.org/
执行完这条命令后可以看到终端输出https://rubygems.org/ removed from sources
,表示原来镜像已经被移除
- 添加新的镜像
gem sources -a https://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用gem sources -l
命令查看现在的镜像,只有在终端中出现https://ruby.taobao.org/
时才表明你上面的命令是成功的
注意:http://rubygems-china.oss.aliyuncs.com 这个阿里云的镜像地址也是可以的
配置Ruby环境
安装CocoaPods之前需要先配置Ruby环境,如果原来已经配置过Ruby环境,则升级Ruby环境
sudo gem update --system
附:查看是否已经安装过ruby以及ruby版本rvm list
如果配置过Ruby环境,则可以跳过后面的步骤,直接查看安装Cocoapods的方法。如果没有配置过Ruby环境,则需先安装Ruby。安装Ruby之前,最好先安装一个Xcode,它将帮你安装好 Unix 环境需要的开发包
安装 RVM
- RVM
curl -L https://get.rvm.io | bash -s stable
期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。
- 载入 RVM 环境
source ~/.rvm/scripts/rvm
注意:如果新开一个 Termal 就不用这么做了,可以直接跳过次步,系统会自动重新载入的
- 检查是否安装正确
rvm -v
如果输出以下内容则表示安装成功
rvm 1.22.17 (stable) by Wayne E. Seguin wayneeseguin@gmail.com, Michal Papis mpapis@gmail.com [https://rvm.io/]
用 RVM 安装 Ruby 环境
- 列出已知的ruby版本
rvm list known
会列出ruby现在的所有版本,一般会选择安装最新版本
- 安装RVM(下面以rvm 2.3.0版本的安装为例)
rvm install 2.3.0
同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。
附:##
查询已经安装的ruby
rvm list
卸载一个已安装版本
rvm remove 1.9.2
设置 Ruby 版本
- 设置默认版本
rvm 2.3.0 --default
RVM 装好以后,需要执行命令将指定版本的 Ruby 设置为系统默认版本
同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本
- 检测是否设置正确
ruby -v
如果输出ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
则表示设置成功
附:查看gem版本
gem -v
到这里就已经把Ruby环境成功的安装到了Mac OS X上
安装Cocoapods
如果系统版本在10.11以下
在终端输入命令
sudo gem install cocoapods
如果系统版本在10.11以上,因为10.11把cocoapods直接干掉了
在终端输入
sudo gem install -n /usr/local/bin cocoapods
sudo xcode-select --switch /Applications/Xcode.app
在终端中输入如下命令来完成安装
pod setup
终端会显示Setting up CocoaPods master repo
一般会等很久,如果提示setup completed,这个说明安装完成,以后就可以安心使用cocoapods了
第一次执行pod setup
时,CocoaPods 会将这些podspec索引文件更新到本地目录,这个索引文件比较大,有 80M 左右。所以第一次更新时非常慢,等待时间取决于网速,等待时间较长。
注意:Cocoapods在将它的信息下载到 ~/.cocoapods, 可以cd到这个文件夹中查看文件下载进度,
cd ~/.cocoapods
du -sh *
安装可能会提示安装失败,可能错误码
[!] /usr/bin/Git clone 'https://github.com/CocoaPods/Specs.git' master --depth=1
Cloning into 'master'...
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly
这说明某些环境原因导致pod更新不了,可能原因有,1、gem版本太低;2、github无法链接;3、.cocoapods目录下的配置信息错误。我们可以一个一个来排除
1.首先更新gem到最新版本,在终端中输入
sudo gem update --system
2.然后检查是否可以ping通github,在终端中输入:
ping github.com
3.然后查看pob repo list:
pod repo list
如果结果显示0 repos,说明没有安装成功
如果是第三个错误,这个网上有几个解决方案
- cd到.cocoapods目录,删除目录下文件,重新下载pod更新,之后再次安装
cd ~/.cocoapods
sudo -rm -rf ~/.cocoapods
pod setup
- 移除本地文件,之后重新执行安装命令
pod repo remove master
pod setup
我试过这两个方法,好像都没有解决,直接暴力的把.cocoapods这个隐藏文件夹整个删除了,之后再重新执行安装命令pod setup
另外还有一个解决方案是直接从gitHub或开源中国中下载别人提交到git的Specs文件,将下载的文件放到~/.cocoapods/repos/master/
文件夹中
CocoaPods的使用
- cd到你的工程目录所在文件夹
- 新建一个名为 Podfile 的文件
touch Podfile
- 添加依赖库
打开Podfile,将依赖的库名字依次列在文件中即可
target 'YourProjectName' do
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'Reachability', '~> 3.0.0'
pod 'AFNetworking', '~> 3.0'
pod 'MJRefresh'
pod 'RegexKitLite'
end
- 导入
pod install
现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下 2 点即可:
- 使用 CocoaPods 生成的 *.xcworkspace 文件来打开工程,而不是以前的 *.xcodeproj 文件。
- 每次更改了 Podfile 文件,你需要重新执行一次
pod update
命令。
注:
1.添加依赖库时,在所有库之前需要输入target 'YourProjectName' do
这行代码,其中YourProjectName是当前工程的工程名,最后需要输入end
。如果不输入这两句,执行install时,会报错The dependency `JSONKit (~> 1.4)` is not used in any concrete target.
2.正确的执行完install后,你的工程中就有了这个库,使用时只要导入库的头文件就可以正常使用,不用再将库文件拖入工程中