网上cocoapods安装教程很多,但还是会碰到各种坑,因此我在这里总结一下cocoapods的安装和碰到的问题及解决方案。
如果你去到新公司,你想安装cocoapods,但你并不知道你的电脑中有没有安装过cocoapods,你可以输入 which pod
如果你看到有路径,那么表示该电脑已经安装过cocoapods了,为什么说这个呢?因为之前有个同行碰到cocoapods安装不上的问题,自己搞了好久,后来我们发现原来电脑里面已经有cocoapods了,然后我们先卸载然后再重装cocoapods,解决了问题,下面的链接是卸载cocoapods的教程
如何从电脑中卸载cocoapods - 佛前一粒沙的博客 - 博客频道 - CSDN.NET
注意:查到cocoapods的路径后,就直接复制下去就好了 别搞错地址,不然卸载不了
接下来是说安装教程了:
1.先升级ruby环境 输入:gem update --system
我这个已经是最新的了,如果输入这句出错,是你的权限不够,你应该输入
sudo gem update --system
2.安装淘宝的ruby镜像(这里有个大坑必须讲出来)
我们需要先卸载默认的:
先输入 gem sources -l 看看里面有啥 一般是有默认的 https://rubygems.org/
此时我们应该将它卸载掉
输入 gem sources --remove https://rubygems.org/
接下来我就该告诉大家坑的地方了
看到网上的教程说 我们需要安装淘宝的ruby镜像 结果输入
gem sources -a http://ruby.taobao.org/ 这句后 显示的是:
后面我查资料 发现这个镜像已经关闭了,那怎么破?不急,咱们只需要输入
gem sources -a https://ruby.taobao.org/ 就可以解决问题了 它从http变成https了
安装好后,用gem sources -l 查看:
发现已经安装好了
3.到正题了,安装cocoapods:
输入sudo gem install cocoapods
如图:
这个过程看网速,我这里网速快,很快安装好了,如果网速慢,那呵呵了,得等好一会才安装好
安装好显示如下:
4.测试有没有安装成功:
输入 pod search SDWebImage 如果cocoa pods安装成功,那么会显示这个第三方框架的信息:
将图中的这句复制下来,
接下来,该怎么退出呢?
直接输入 wq就可以了
5.接下来是先写个项目 ,看看能不能通过cocoapods安装第三方库
创建完项目后,先输入
cd /Users/lishe/Desktop/LBQ/testCocoa
这里教大家一个快速生成路径的方法 ,直接找到项目 然后把它拖进终端 就可以生成路径了
接下来输入:
touch Podfile 既创建Podfile文件
可以在项目目录中看到生成了Podfile文件
然后使用vim编辑Podfile文件,输入
vim Podfile
进去之后,先按 i 键进入编辑模式 才能输入字符
注意:按 i 字母的时候 是英文状态下的 如果是中文状态会出错,编辑模式进不去
在里面输入:
platform :ios,'8.0'
target 'testCocoa' do
pod 'AFNetworking','~>3.0.4'
pod 'SDWebImage', '~> 3.7.3'
end
这里解释一下:8.0指的是支持ios8以上的 testCocoa 是指项目名
3.0.4指的是版本
注意:
我用下面两种格式都失败了
第一种:
platform :ios, "8.0"
pod "AFNetworking"
pod "SDWebImage"
第二种:
platform:ios, ‘8.0‘
pod ‘AFNetworking‘, ‘~> 2.3.1‘
如果你也是,你可以试试我成功的那种方式
编辑完之后 ,按键要在英文状态下,先按 esc 然后按 冒号 : 再输入wq 看到一个教程,没有冒号 搞了好久根本退不出。。。所以大家要注意一下
这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的内容
然后在终端输入
pod install
安装相应的第三方类库
若你刚才在Podfile中写的格式不规范,它会报以下的错误:
输入正确的话,就会成功安装:
这个时候会看到项目目录下文件如下所示:
以后打开项目从.xcodeproj打开
打开项目后显示:
这样就结束了 如果不想用命令行安装,想在xcode中看到cocoapods插件,可以看我的下一篇文章 安装cocoapods插件后 可以看到
谢谢观看!
补充在后面的评论
这里再补充下 很多人遇到以下问题 :
加上这句:
Git clone git://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master 一句搞定
主要是协议不对
git://代替https://