今天学习了下大名鼎鼎的cocoapods,这是一个第三方库管理插件。因为直接百度的安装和使用教程,在此过程中遇到几个坑,原因是有些贴子时间太久远,很多东西已经过时不用,再就是网上大量的copy贴,质量不保证。特此记录下这个时间点的最新方法。
一,下载和安装
1)安装rvm,打开终端,敲入命令
curl -L https://get.rvm.io | bash -s stable
过程中会提示输入password,输入即可,这一步应该没问题,完成后再输入
source ~/.rvm/scripts/rvm
2)其次 开始安装ruby
1、输入 $ rvm list known 查看下已知版本
2、例如想安装2.0.0 版本
输入 rvm install 2.0.0
3、对ruby进行设置 ,
输入 rvm 2.0.0 --default 将该版本的 Ruby 设置为系统默认版本
4、ruby -v 查看版本信息
//以上ruby的安装和配置环境网上很多,可以根据自己的实际情况操作,因为我的电脑上本来就是最新的Ruby环境,所以我并未执行上述步骤
3)修改gem的默认源(因为官网地址被天朝墙了,不多说)
这是我遇到的第一个坑,网上很多教程说是输入
第一步,输入 gem source -r https://rubygems.org/ (这个没问题)
第二步,然后输入 gem source -a https://ruby.taobao.org
然后你会发现有个报错:
Error fetching http://ruby.taobao.org/:
no such name (http://ruby.taobao.org/specs.4.8.gz)
也有说改成gem sources -a https://gems.ruby-china.org/ 的
依然报错:
Error fetching https://gems.ruby-china.org/:
bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
错误的原因是目前这两个网址都已经不再使用了,正确的网址是:
输入:gem sources --add https://gems.ruby-china.com
4)验证是否替换成功 输入:
gem sources -l
输出为:
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
*** CURRENT SOURCES ***
https://gems.ruby-china.com
这样配置就成功了。
5)接下来就是安装cocoapods了
输入:sudo gem install cocoapods
提示输入password,输入即可。
完成后输入:pod --version。可以查看安装的cocoapods的版本了。
二,使用
以AFNetworking第三方库为例。
1)在你Xcode工程的根目录下新建一个podfile文件
在终端中cd到工程根目录下,输入命令:touch podfile
2)敲入命令查找第三方库
输入:pod search AFNetworking
第二个坑,输出:[!] Unable to find a pod with name, author, summary, or description matching `AFNetworking`
这时候首先删除索引文件,输入命令:rm ~/Library/Caches/CocoaPods/search_index.json
然后输入命令:pod search AFNetworking
这时候终端会输出:Creating search index for spec repo 'master'..
这个等待时间比较长,我第一次执行的时候以为卡死了,在我的机器上等待了大概二十多分钟,怀疑与网络有关。
这个过程执行完成后应该会显示:Creating search index for spec repo 'master'.. Done!
这个代表成功了。会自动进入less界面。里面会显示相关的库和版本号。
如果上一步没有成功,建议执行一下命令:pod setup。然后在执行:pod search AFNetworking
3)编辑podfile文件
在podfile文件中按照下面的格式填写库信息:
platform :ios, '8.0'
target 'Budejie' do
pod 'AFNetworking', '~> 3.2.1'
end
4)执行命令:pod install --no-repo-update
执行完成后会在你的工程中生成一个xcworkspace的文件,以后打开工程就通过这个文件打开 ,第三方库才能使用。
一点建议,以后如果遇到报错信息,如果看不懂或者看了不清楚解决方式的话记得百度。用Google更好,但是没得用,哎!!!!