最新 CocoaPods 安装详细教程

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

注: 最近发现 CocoaPods 不能正常使用了, 看了一下原来是 ruby 镜像地址变化导致的, 只需要把之前本地的 gem sources 即: https://ruby.taobao.org/  替换为: https://gems.ruby-china.com/ 就可以继续使用了.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

一、什么是CocoaPods

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

Cocoapods 意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

接下来我们将介绍CocoaPods的使用。

1. CocoaPods 的核心组件

CocoaPods是用Ruby写的,并划分成了若干个Gem包。

CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。

CocoaPods / CocoaPod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。

CocoaPods / Core:Core gem提供了与CocoaPods相关的文件(主要是podfile和podspecs)的处理。

Podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。

Podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。

CocoaPods / Xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。

2. Cocoapods 安装步骤

1、安装CocoaPods时我们要访问cocoapods.org,该网站可能被我们大天朝墙了,这样下载安装可能会是龟速,幸好我们可以用淘宝的Ruby镜像来访问该网站,方法如下:

移除现有 Ruby 默认源

$ gem sources --remove https://rubygems.org/

替换为

$ gem sources -a https://gems.ruby-china.com/

可以使用下面的命令查看是否更换镜像成功(如下图所示):

$ gem sources -l

3、安装Cocoapods,在终端输入命令

$ sudo gem install cocoapods

这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意.

如果这时出现  While executing gem ... (Gem::FilePermissionError)

    You don't have write permissions for the /usr/bin directory.

改为 sudo gem install -n /usr/local/bin cocoapods  即可

开始安装,这个过程可能花费时间比较长.

4、安装成功后, 使用search命令搜索类库名:

$ pod search WebViewJavascriptBridge

如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfile中配置的写法,如下图:

pod 'WebViewJavascriptBridge', '~> 5.0.5'(这个语句是需要在编辑Podfile的时候输入的命令,即是如何安装下载相关类库的指令)

5、需要在工程中创建一个Podfile文件,

使用命令:

$ cd /Desktop/CocoapodsExample  (进入工程目录,cd后面的是工程的路径) 

$ touch Podfile(创建Podfile文件)

然后使用vim编辑Podfile文件,使用命令:

$ vim Podfile

进入如下界面:

然后紧接着按键盘上的“i”键,变成如下状态:

这个时候可以对Podfile文件进行编辑:

$ platform:ios, ‘7.0‘

$ pod ‘AFNetworking‘, ‘~> 2.3.1‘


注意:

高版本的cocoa pods在编写Podfile文件必须这样写

platform :ios, '8.0'

target "targetName" do

pod 'AFNetworking'

end

(targetName是你项目的名字,别忘了替换)


在编辑完成后按“esc”,再按“:”,这个时候输入wq,点击回车,保存并退出。

这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的语句.

然后在终端输入命令安装相应的第三方类库

$ pod install

因为这个过程需要下载相应的类库,所以时间和网速有关。

网速过慢怎么办?

可以注册一个码云账号,然后将 github 上的https://github.com/CocoaPods/Specs.git 仓库导入到码云,然后从码云上下载到本地,速度会快很多,具体操作参考:https://blog.csdn.net/lincsdnnet/article/details/73729527

安装成功之后截图如下:

这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

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

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,629评论 3 51
  • 可能是因为周末的关系把,今天火车站的人特别的多,三三两两的情侣,我从人群里穿梭过去,很自然地想起了你,许许多多次我...
    梓悠阅读 94评论 0 0
  • 【执子之手】儿童学习力六期 践行记录20170808Day85 1.听鹅妈妈前十首音频。2.指读了精品故事书找妈妈...
    cancan妈阅读 123评论 0 0
  • 足病中心医生给予唐奶奶胰岛素控制血糖,细菌培养结果显示感染绿脓杆菌,选择合适抗生素足部治疗,加强全身支持治疗和伤口...
    栀子花在梦游阅读 357评论 0 2
  • 上篇文章通过一次家庭小事儿来引出对“旧物”的处理态度,文中我提到了“断舍离”这个概念,《断舍离》这本书我早有耳闻,...
    卓文业阅读 599评论 0 11