CocoaPods 的安装使用

CocoaPods是 iOS 开发中最常用的第三方类库管理工具
使用它可免去手动添加 一些 依赖库,并且管理也很方便
CocoaPods是用Ruby实现的、
Mac OS X 系统默认可以运行Ruby,因此我们只需执行以下命令便可以安装:

加一点小插曲、自从本人pod 升级到 0.39.0 之后、
印象笔记SDK出了一些莫名其妙的问题、无奈之下降级...
又回到了 0.38.0 的版本

第1步 打开终端输入安装指令

sudo gem install -n /usr/local/bin cocoapods

如果你想安装指定的版本
例如: 只想安装pod 0.38.0 的版本

执行如下命令

sudo gem install -n /usr/local/bin cocoapods -v 0.38.0 旧版已不能用
sudo gem install -n /usr/local/bin cocoapods -v 1.1.0

如果你在安装的过程中、出现了下面的错误: (为方便观看,该错误我已经添加了换行..)

ERROR: Could not find a valid gem 'cocoapods' (>= 0), 
here is why: Unable to download data from 
https://rubygems.org/ - Errno::EPIPE: Broken pipe - SSL_connect 
(https://rubygems.org/latest_specs.4.8.gz)

我们伟大的天朝...你懂的... (此处省略一大片文字)
所以你需要更换 淘宝的 RubyGems 镜像 来代替官方的

  1. 删除官方的 ruby
  2. 添加淘宝的 ruby

执行如下命令:

 gem sources -l  
 gem sources --remove https://rubygems.org/
 gem sources -a https://ruby.taobao.org/
 gem sources -l

这时在终端中出现下面文字,
说明已经成功的将 ruby 源换成了 taobaoruby 源了

*** CURRENT SOURCES ***
http://ruby.taobao.org/

重新执行第1步的安装指令

 sudo gem install -n /usr/local/bin cocoapods 

如果在安装时,出现以下错误,那么你需要将 ruby 升级至指定的版本以上
如图所示,要求我的 ruby 版本要 >=2.2.2 好吧,那就来吧。

Paste_Image.png

如果没有安装 Homebrew 执行以下指令安装 Homebrew

// 安装 homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// 通过 rvm 来管理 ruby
curl -L https://get.rvm.io | bash -s stable
// 启用 rvm 指令
source ~/.rvm/scripts/rvm

如果安装 homebrew 时出现如下错误

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/Library/brew.rb:15:in `<main>'
ERROR: '/bin' is not writable - it is required for Homebrew, try 'brew doctor' to fix it!
Requirements installation failed with status: 1.

有可能是你更新 mac 系统造成的,我是通过卸载重装 homebrew 来解决这个问题的

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后你就可以痛快的 安装 2.2.2 版本的 ruby 啦


// 安装 ruby 2.2.2 
rvm install 2.2.2
// 默认使用 2.2.2 版本的 ruby
rvm use 2.2.2 --default

成功后
你会看到类似这样的信息


gems installed 成功

这个时候你可以使用pod指令查看一下pod版本

pod --version 

安装完 cocoapods 之后你需要初始化第三方库的信息

pod setup

如果以后需要更新第三方库的信息

 pod repo update

如何在新的项目中使用 cocoapods

首先需要进入项目

 cd imooc

在项目中创建 Podfile 文件
在终端输入

vim Podfile

按 i 键进入编辑模式后输入需要支持的版本以及第三方库的名称

platform :ios, "8.0"
target '你的项目名' do
use_frameworks!
pod 'SDWebImage', '~>3.7' // 需要使用的第三方
end

完成后 esc 退出编辑模式

输入指令 :wq 退出保存

 :wq 

开始在项目中安装 cocoapods

pod install

如果你使用的是 cocoapods-xcode-plugin 的插件
那么你再 Xcode product 选项卡选择 CocoaPods -> Create/Edit Podfile 如下图所示

Paste_Image.png

然后你将配置补充完善

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, "8.0"
use_frameworks!

pod "ReactiveCocoa"

target :ReactiveCocoaDemo, :exclusive => true do
  # pod 'Kiwi'
end

其中 target :ReactiveCocoaDemo
ReactiveCocoaDemo 就是你的项目名称
注意这里不能有中文!

配置完毕 Podfile 文件后,请关闭 Podfile 文件
继续选择 Xcode product 选项卡选择 CocoaPods -> install pods 如下图所示

Paste_Image.png

关于 Podfile 文件,第三方库版本号的各种写法:

pod ‘AFNetworking’            //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’     //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′    //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′   //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′    //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′   //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′   //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

卸载 cocoapods

请在终端 输入 卸载指令 如下所示
其中-v 3.38.0 是想要卸载的pod版本号 当然也可以不写

gem list
sudo gem uninstall cococapods -v 3.38.0

如果你同时安装了多个版本

sudo gem uninstall cocoapods
选择你不想要的版本进行卸载

选择你不想要的版本进行卸载
我输入 (2) 删除 0.39.0的版本

然后再查看一下
只剩下一个 0.38.0 的 版本了

pod --version
0.38.0

brew install CocoaPods
brew upgrade CocoaPods
brew uninstall CocoaPods

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容