iOS开发新手如何安装cocoapods

什么是Cocoapods

在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetworking、JSONKit等。使用这些第三方类库能极大的方便项目的开发,但是,集成这些依赖库需要我们手动去配置,例如集成ASIHttpRequest库时除了加入源码以外还需要手动去添加一些系统框架,比如CFNetwork、MobileCoreServices等,如果这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成,大大的提高了实际开发中的工作效率,使我们的主要精力集中到更重要的事情上去。

安装cocoapods

1.升级Ruby环境

终端输入:$gem update --system

此时会出现错误

这个是因为你没有权限去更新ruby,这时候在终端输入$sudo gem update —system来进行升级

这个时候表示ruby升级完成。

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

(1)将ruby的原生镜像移除

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

(2)用淘宝的镜像代替

$ gem sources -a https://ruby.taobao.org/

(3)查看是否设置成功

$ gem sources -l

(4)安装Cocoapods

$ sudo gem install cocoa pods

(5)查看Cocoapods是否支持某个类库,只要能够查询到框架就表明这个这台电脑Cocoapods已经安装成功。

$ pod search 类库名

支持模糊查询(如:AFNetworking),如果下面显示出AFNetworking框架的各个版本就代表Cocoapods安装完成。

ruby升级

可能在安装Cocoapods的时候,由于ruby版本的问题,会出现错误,不能继续安装。详见博客网址为:http://www.360doc.com/content/16/0706/14/34885951_573528357.shtml

1、安装 RVM

$ curl -L get.rvm.io | bash -s stable

等待一段时间后就可以成功安装好 RVM。

$ source ~/.bashrc

$ source ~/.bash_profile

测试是否安装正常 

 $ rvm -v

2、用RVM升级Ruby

#查看当前ruby版本

$ ruby -v

ruby 1.8.7

#列出已知的ruby版本

$ rvm list known

#安装ruby 1.9.3

$ rvm install 1.9.3

安装完成之后ruby -v查看是否安装成功。


安装cocoa pods成功:

使用search命令搜索类库名:

$pod search AFNetworking

可能网速或者其他原因,会卡在这里很久

出现Setting up CocoaPods master repo,说明Cocoapods正在将它的信息下载到 ~/.cocoapods里,保持这个终端不动,新打开一个终端,cd到该目录里,用du -sh 命令来查看文件大小,每隔几分钟查看一次,大小会一直增加,直到下载完成。如果不成功,在下面会显示一个git的网址,在这个网址下载相应的文件放在~/.cocoapods相应的文件夹便可。


在项目中使用Cocoapods

我们通过集成MJRefresh类库来演示如何使用CocoaPods来做依赖库管理。首先,建立一个xcode工程,命名为CocoaPodDemo。

1.检查MJRefresh是否支持Cocoapods,支持模糊查询

$ pod search mjrefresh

出现Setting up CocoaPods master repo,说明Cocoapods正在将它的信息下载到 ~/.cocoapods里,保持这个终端不动,新打开一个终端,cd到该目录里,用du -sh命令来查看文件大小,每隔几分钟查看一次,我的这个目录最终大小是211M,就是完成了。如果不成功,在下面会显示一个git的网址,在这个网址下载相应的文件放在~/.cocoapods相应的文件夹便可。

*执行后通过输出结果可以看到mjrefresh是支持CocoaPods的,注意红框标记的内容,这是待会我们配置xcode时需要的信息,这条配置项就是告诉CocoaPods去下载和管理第三方库的哪一个版本。如果搜索过后最下面出现一个:,则直接点击q便可退出。

2.来到工程目录下,创建一个Podfile文件

$ cd /Users/gaomao/Desktop/XcodeDemo/CocoaPodDemo

$ vim Podfile

利用终端运行以上代码会在工程里打开一个名为Podfile(注意大小写)的文件。如果有这个文件会在终端中打开,如果没有这个文件会新建后打开。这个Podfile文件的作用是配置依赖库信息,就是告诉CocoaPods去下载和管理哪些依赖库。

3.使用vim编辑Podfile文件

版本号可以根据自己的需求改变。vim打开文件后按i进入插入模式,编辑完成后按esc退出编辑模式,接着输入:wq保存并退出文件。保存以后可以在C文件夹里验证一下是否有Cocoapods这个文件。下图中我写了好几个框架。

4.将第三方库集成到项目中

如果之前的全部工作都完成了,工程目录下就会有一个Podfile文件了,注意必须和.xcodeproj在同一个目录下。接下来就可以使用CocoaPods来安装并管理JSONKit库了,首先确保终端当前路径是在CocoaPodsTest目录下。

$ pwd  可以查看当前终端所处的路径。

路径没有问题后运行

$ pod install  将Podfile文件中的第三方库集成在项目中。

安装结束以后会有如下提示(请关闭Xcode,从此使用CocoapodsTest.xcworkspace打开项目)

Please close any current Xcode sessions and use    `CocoaPodsTest.xcworkspace` for this project from now on.

然后,通过xcoworkspace打开项目,就看到了Pods集成的第三方库

如果出现卡在analyzing dependencies的解决方案:第一次执行pod install的时候,会自动执行pod setup。不挂VPN肯定是无法执行的,所以可以添加如下参数:

pod install --verbose --no-repo-update

添加多个第三方库

修改工程中的Podfile文件,添加一行,如下

pod 'AFNetworking', '~> 3.1.0'

然后再次将Podfile文件集成到项目中,删除某个第三方库也是删除文件中类似上面的行;执行指令,然后进入项目查看即可。


参考文章:https://www.jianshu.com/p/8a592ae2bff6

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

推荐阅读更多精彩内容