cocoaPods的安装每次安装都是去百度一堆博客,进行安装,时不时的还会有坑,避免以后每次安装能顺利进行,特此写下详细的安装步骤,以此共勉,如有问题,烦请各位小伙伴告知,好啦,不说太多啦,直奔主题!
第一步:首先要检查Mac是否安装了rvm(ruby version manager)。打开终端,输入指令$ rvm -v,"$"不用输入:
(1)如果不存在,则会出现下面的情况:如图1
(2)如果存在,则会打印rvm的版本信息:如图2
如果不存在,先要安装一下,安装指令是$: curl -L https://get.rvm.io | bash -s stable 按下回车即进入下载安装的状态,等几分钟即可(如图3)。然后输入指令$:
source ~/.rvm/scripts/rvm 什么都不会输入是正常的。再次输入指令rvm -v检查是否成功安装了,如果成功安装了就会输出:如图4
接下来进入第二步。
第二步,用rvm安装ruby环境。
注意,当ruby版本低于2.2.2时,安装cocoapods会报错,可通过指令 ruby -v检查当前版本,rvm list known 查询已知的ruby环境。如果版本低于2.2.2,啥也不要说快更新一下。vrm list known会查询所有的ruby版本,找到最高版本号,输入指令:rvm install 2.4.0(当时是2.4.0最高),然后根据提示按“enter”键,第二次按之后会提示你输入密码,因为太长,所以这里不贴图片了。
安装完成之后输入指令rvm list查看ruby版本,看看是否安装成功,如图5:
第三步,检查更新ruby版本环境
cocoapods是用gem ruby实现的,想要使用它首先需要有gem ruby的环境。且Mac的OS X系统默认已经可以运行ruby。
建议gem bury包环境升级到2.6.x以上。
检查gem ruby版本号:
sudo gem -v,得到如下结果:如图6
更新gem ruby版本号:gem update --system,由于我这里的版本号已经很高了,就没有必要去更新了,如果你更新了,记得告诉我哦。
第四步,检查ruby源并移除。
先是检查ruby源,gem sources -l 结果如下:如图7
然后移除,gem sources --remove https://rubygems.org/ 移除结果:(备注:移除时有报错,暂未找到原因,如果各位猿们有晓得报错的原因,麻烦记得评论下哦,在这里先感谢一下喽,虽然报错,但不影响后续安装流程),好啦,我们继续go on~
[ 替换添加国内的镜像源,之所以要添加国内的ruby-china源,是因为taobao源已经停止维护了,所以此处替换的是ruby-china源,且尽量确保只有一个。输入指令gem sources --add https://gems.ruby-china.org 替换结果:因为没有找到https://gems.ruby-china.org,所以这里我最终用了ruby.taobao.org,输入指令:gem sources -a https://ruby.taobao.org 运行结果(实际上是China这个单词拼写错误,感谢为我指出错误的兄弟)] 括号部分说的这部分是之前的安装ruby镜像源的流程,按如上步骤执行,安装一直失败,捣鼓半天才查找,终于找到答案,就是现在这个样子:https://gems.ruby-china.com/(其实就是把.org换成了.com),结果如下:
再次检查此时的ruby源,上面已经检查了,结果也有。
第五步,安装CocoaPods(sudo 表示管理员执行指令,需要输入密码的)
安装cocoapods,$ sudo gem install cocoapods,这里有一个坑
OS X 10.11之前系统的安装cocoapods 指令:$ sudo gem install cocoapods (我使用的是这个命令)
OS X 10.11以后系统的安装cocoapods 指令:$ sudo gem install -n /usr/local/bin cocoa pods
如果有 gems installed标志着安装成功了。如图10
第六步,创建一个工程,并创建podfile配置文件
先用cd进入到工程中去,输入指令vim podfile创建podfile文件,然后按i进入到编辑模式,如图11
配置文件固定语句如下:
platform:ios,'8.0'
target '你的工程名' do
pod 'AFNetworking', '~>3.1.0' (如果不加 , '~>3.1.0' 则它会下载最新的版本)
end
然后按esc,接着按" : " 然后输入wq 按回车键 返回终端界面,输入 pod install 意思是初始化,所以每次添加新的库的时候,之前的指令都不能删除,它只会添加指令中有的库。
如果发现安装cocoapods之后,初始化pod时在receive object是正常情况 需要耐心等待。
文章的最后附上一些常用指令
-pod安装
# 添加源
$ sudo gem sources -a https://ruby.taobao.com/
# 删除源
$ sudo gem sources -r https://rubygems.com/
# 安装
$ sudo gem install cocoapods
# 设置
$ pod setup
-gem常用命令
# 查看版本
$ gem --version
# 清除过期的gem
$ sudo gem cleanup
# 安装包
$ sudo gem install cocoapods
# 删除包 $ gem uninstall cocoapods
# 更新包
$ sudo gem update
# 列出本地安装的包
$ gem list
-pod命令
# 第一次使用安装框架 //只用安装一次,之后使用 添加删除都用 pod update --no-repo-update
$ pod install
# 安装框架,不更新本地索引,速度快
$ pod install --no-repo-update
# 今后升级、添加、删除框架,或者框架不好用
$ pod update
# 更新框架,不更新本地索引,速度快
$ pod update --no-repo-update
# 搜索框架
$ pod search XXX
# 帮助
$ pod --help
使用Cocopods导入三方库的步骤:
1.首先知道需要导入三方库名字,如果是手动导入需要从GitHub下载,使用GitHub则不需要下载
2.打开项目文件目录,找到podfile文件并打开,添加三方库的名字,(以IQKeyboardManager为例,打开后按第二幅图的命令添加该库,完事后保存关闭窗口)
3.找到podfile.lock文件,删除该文件,每次导入新的三方库时,都需要删除这个文件,这样才能保证新加入的类库编译进来。如下图
4.打开shell终端,cd到要导入项目的目录下,如cd /Users/jesy/Desktop/lilyclassonline-HD-ios/LilyOnlineeducationHD 按下回车
5.输入pod install命令,按下回车,等待即可,导入成功的标识为:可查看podfile.lock文件是否存在,有则为成功,终端里也会显示,没有error错误也为导入成功。
6.随着技术的更新,各大第三方库也会更新自己的三方库方法,类名及拓展新的技术,这时候我们就需要去更新相应的三方库,而不是一味地使用旧的三方库,下面就说下如何更新新的三方库不容易出问题,亲测有效。
1.打开Podfile文件。
2.找到AFNetworking,#注释掉 ,如此:#pod 'AFNetworking', '~> 3.0'。
3.打开终端 CD工程目录,输入pod install 命令,会移除掉注释的三方库。
4.解开注释,也就是把#号去掉,如pod 'AFNetworking,如果你想换成你想要的版本,在此之后添加相应版本即可。
5.最后再输入pod install 命令,新的三方库就更新啦。(如图17)
如图16,左边是更新过的三方库,右边是之前的三方库,以AFNetworking和SensorsAnalyticsSDK为例,
切记:这种方法是一个一个的更新三方库,好处就是更新一个,就编译一下,有报错及时改正即可,如果使用pod update命令,则会把Podfile里所有的三方库都会进行更新,所以慎重使用。
7.更新cocoaPods命令
直接在终端输入 sudo gem install cocoapods -n /usr/local/bin 即可, sudo是获取管理员权限,如果不加 sudo,会更新失败。